如何使用selenium webdriver来判断一个网页加载完毕

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用selenium webdriver来判断一个网页加载完毕相关的知识,希望对你有一定的参考价值。

参考技术A WebDriverWait wait = new WebDriverWait(driver, 30);

wait.until(new Function<WebDriver, Boolean>()
@Override
public Boolean apply(WebDriver driver)
return ((javascriptExecutor) driver).executeScript("return document.readyState").equals("complete");

);

如何使用 webdriver selenium 从标签中单击按钮

【中文标题】如何使用 webdriver selenium 从标签中单击按钮【英文标题】:How to click button from a label using webdriver selenium 【发布时间】:2021-09-28 09:43:29 【问题描述】:

我对网络 scraping 和 selenium 完全陌生。

我试图点击标签按钮,所以,如果点击标签,颜色会改变,如下图。

我认为,可以通过访问输入“id”来完成,但它不起作用,我试图使用这种语法单击 id 按钮

button = driver.find_element_by_id('r0_1')
button.click()

但我得到的错误是这样的

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

所以,我想我应该点击标签来访问“for”元素。 有谁知道如何点击带有“for”元素的标签,因为它也是一个唯一值?

任何帮助将不胜感激,谢谢!

*注意:此代码是从原始link 重建的,以防万一,更容易阅读

这里是源代码的链接:link

【问题讨论】:

不,先生,您不必问我,您应得的。谢谢!!!如果可以的话,也请投票赞成这个问题,也许你可以帮助另一个问题 【参考方案1】:

你可以试试这个方法

按标签

element = WebDriverWait(driver,2).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='r0_3']")))  

element.click()

下面会根据输入点击

element = driver.find_element_by_xpath("//*[@id='r0_3']")
driver.execute_script("arguments[0].click();",element)

【讨论】:

以上是关于如何使用selenium webdriver来判断一个网页加载完毕的主要内容,如果未能解决你的问题,请参考以下文章

你的回答“用selenium webdriver来判断一个网页加载完毕”,如何用加载超时报异常来确定是否加载完毕?

python selenium webdriver 怎么 获得 ajax 返回 内容

Chrome如何设定webdriver=undefined以避免Selenium检测?

如何在 Selenium WebDriver 中使用 xPath 来抓取 SVG 元素?

WebDriver(Selenium2)判断元素是不是存在。

如何使用Selenium Webdriver和Java编写定位器来单击img?