我正在为selenium实现自定义php客户端,我在实现waitForPageToLoad()
函数方面遇到了问题:
问题是只检查document.readyState
是不够的 - 页面上可能会运行一些JS脚本(例如,点击按钮后的一些动画),这会强制我的waitForPageToLoad()
功能继续等待,但document.readyState
在这种情况下返回complete
状态。
另一个问题是我无法使用回调,因为我不知道js会在页面上运行什么。尽管如此,我可以在页面上插入一些js,但我必须确保它不会影响页面的正常行为。
有人可以建议一个可能的解决方案吗? 目前我正在使用最新的FF浏览器。
感谢。
答案 0 :(得分:0)
无法检查JavaScript当前是否正在运行。
您可以等待元素出现。
对于Python,它可以这样工作:
from selenium.webdriver.support import expected_conditions as EC # noqa
driver = webdriver.Chrome(...)
el = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//a")) # change to your needs
)