繁体   English   中英

重新解析页面Selenium Web驱动程序-Python

[英]Reparse Page Selenium Web Driver - Python

是否可以使用硒来重新解析页面? 我单击使用该功能的按钮,然后HTML由于javascript而更改,因此我想重新解析该页面,而不是刷新它。

get / refresh的方法导致页面重新加载,这不是我想要的。

实际上,它并不是完全“修复”。 据我了解,这是关于检测页面上所做的更改。 为此,您应该使用WebDriverWait和一组内置的预期条件(或者您可以编写自定义条件)来等待页面上的更改。

举例来说,假设您在单击按钮时将元素添加到页面。 这是等待直到此元素可见的方法:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# ...

button.click()

wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#id-of-the-added-element")))

# now the page is "re-parsed"
print(driver.page_source)

每500毫秒(默认情况下),它将等待长达 10秒的时间检查预期条件的状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM