Python+selenium自动化:页面加载慢、超时加载情况下内容已经加载完毕的快速执行脚本解决方案,页面加载时间过长优化方案

简介: Python+selenium自动化:页面加载慢、超时加载情况下内容已经加载完毕的快速执行脚本解决方案,页面加载时间过长优化方案

   

driver.set_page_load_timeout(3) 页面加载时间设置 3 秒,执行到某一步涉及页面加载如果加载时间超过 3 秒就会停止加载并抛出异常,其实这个时候页面内的元素已经加载出来了,我们在这一步进行异常捕获不让程序停止,然后直接执行下一步即可。

报错信息如下:

selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: 3.000

def analyze_jira(driver, d):
    # 方案一:异常捕获方案
    # 页面加载时间设置,超时会直接报错,将会报错的地方加个异常不过,完美解决问题
    driver.set_page_load_timeout(3)
    for (k,v) in d.items():
        driver.find_element_by_xpath('//input[@id="quickSearchInput"]').send_keys(k[4:])
        try:
          # 查询操作,耗时很长
            ActionChains(driver).send_keys(Keys.ENTER).perform()
        except Exception as e:
            print("抓到异常,页面停止加载,但是程序不停止。")
        time.sleep(1)
        # 提取页面指定元素的文本
        question_zhuti = driver.find_element_by_xpath('//*[@id="summary-val"]').text;

还可以通过 set_script_timeout() 方法来解决问题。

def analyze_jira(driver, d):
    # 方案二:同时设置脚本执行超时时间方案
    # 设置脚本报错之前的等待时间,这个小于等于上面set_page_load_timeout()设置的时间就不会抛错。
    driver.set_page_load_timeout(3)
    driver.set_script_timeout(3)
    for (k,v) in d.items():
        driver.find_element_by_xpath('//input[@id="quickSearchInput"]').send_keys(k[4:])
        # 查询操作,耗时很长
        ActionChains(driver).send_keys(Keys.ENTER).perform()
        time.sleep(1)
        # 提取页面指定元素的文本
        question_zhuti = driver.find_element_by_xpath('//*[@id="summary-val"]').text;

set_page_load_timeout()

方法说明:

Set the amount of time to wait for a page load to complete before throwing an error.

翻译:

设置在抛出错误之前等待页面加载完成的时间。

set_script_timeout()

方法说明:

Set the amount of time that the script should wait during an execute_async_script call before throwing an error.

翻译:

设置脚本在execute_async_script调用期间抛出错误之前应该等待的时间。

喜欢的点个赞❤吧!

   

目录
相关文章
|
26天前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
9天前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
61 19
Selenium IDE:Web自动化测试的得力助手
|
11天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
91 17
Selenium:强大的 Web 自动化测试工具
|
1天前
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
56 38
|
12天前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
54 7
21个Python脚本自动执行日常任务(2)
|
2天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
17 5
|
19天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
25 7
|
24天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
29天前
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
1月前
|
存储 Python
Python自动化脚本编写指南
【10月更文挑战第38天】本文旨在为初学者提供一条清晰的路径,通过Python实现日常任务的自动化。我们将从基础语法讲起,逐步引导读者理解如何将代码块组合成有效脚本,并探讨常见错误及调试技巧。文章不仅涉及理论知识,还包括实际案例分析,帮助读者快速入门并提升编程能力。
65 2
下一篇
DataWorks