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

Posted

技术标签:

【中文标题】如何使用 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)

【讨论】:

以上是关于如何使用 webdriver selenium 从标签中单击按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Selenium WebDriver 从隐藏元素中读取文本?

如何使用 Selenium WebDriver 和 java 从下拉列表中选择一个项目?

如何使用 Selenium WebDriver C# 从下拉列表中选择一个选项?

如何使用 Selenium WebDriver C# 从下拉列表中选择一个选项?

如何使用 Selenium Webdriver 和 Python 从这个非选择下拉菜单中选择这个元素

我们如何使用Selenium Webdriver C#从URL获取特定值?