gpt4 book ai didi

python - 等待页面加载后 Selenium 无响应

转载 作者:行者123 更新时间:2023-11-28 19:23:02 26 4
gpt4 key购买 nike

背景:

我正在使用 Python 下载页面的源代码。我让 Selenium 登录网站,然后“找到”HTML。

elem = driver.find_element_by_id("account_id")
elem.send_keys("username")
elem = driver.find_element_by_id("password")
elem.send_keys("abc123")
elem.send_keys(Keys.RETURN)

print "Finding element..."
html = driver.find_element_by_xpath('//*')

然后 HTML 被保存到一个文本文件中,这完美地工作,通常在 5 秒后完成。

问题:

如果我尝试先等待页面(相当复杂)的 JavaScript 加载,Selenium 将找不到该元素。我尝试了以下方法:

import time
...
elem.send_keys(Keys.RETURN)

print "Waiting for page to load..."
time.sleep(10)

print "Finding element..."
html = driver.find_element_by_xpath('//*')

在最后一次打印之后,永远不会完成。类似的方法

wait = raw_input("Press Enter after the page has finished loading.")

有同样的问题,永远找不到任何东西。

我也尝试过这种不那么“暴力”的方法:

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import selenium.webdriver.support.ui as ui
...
elem.send_keys(Keys.RETURN)

print "Waiting for page to load..."
element = ui.WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "SomeElement")))

无论我使用什么元素 ID,它都不会停止等待。

我是 Selenium 的新手,不确定还可以尝试什么。

最佳答案

这并不是真正的解决方案,但为我解决问题的解决方法是从使用 Chrome 驱动程序切换到 Firefox 驱动程序。

预计到达时间:Chrome 驱动程序无法在 Linux 上运行。

关于python - 等待页面加载后 Selenium 无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20107171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com