python - 即使经过显式等待,页面也会持续加载很长时间(Selenium Python)
问题描述
目前,我正在使用selenium
. 具体来说,我使用selenium
每个请求访问网站 X。导航到网站 X 后,WebDriver 应该等待某个元素的存在(最多 5 秒)。然而,对我来说很奇怪的是,有时 WebDriver 加载网站 X 的时间很长。通常为 20-45 秒。当我在每个请求之后都实现了显式等待时,这怎么可能发生?这是代码:
for i in range(1000):
driver = webdriver.Chrome()
driver.get('https://www.canva.com/login')
WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'span.sMwixw')))
driver.close()
谁能解释这种行为?如果是这样,我该如何避免它?也就是说,按预期等待每个请求的时间不超过 5 秒。
解决方案
听起来您想将页面加载策略设置为无:
driver = webdriver.Chrome(options=opts, desired_capabilities={"page_load_strategy": "none"})
否则它将等到它认为页面已加载,然后选择器再等待 5 秒
推荐阅读
- python - 如何设置 PYTHONUTF8 环境变量以在 Python 中默认启用 UTF-8 编码?
- mongodb - 按多个字段分组值
- html - 回到 Ubuntu 上的 HTML 不起作用
- android - 如何在不影响实时数据库的情况下使用 firebase 数据库测试我的应用程序?
- git - 当拉取请求/门控签入是强制性的时,将修复从发布合并到开发
- javascript - Javascript 检查对象数组的每个元素是否包含在另一个数组中
- java - Dijkstra算法,试图在最短路径中找到第一个节点
- c# - Visual Studio 2017,新建项目时默认使用新样式csproj
- salt-stack - SaltStack:模块文件。查找名称参数
- android - 具有基于响应的动态元素的 RecyclerView