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

How to click button from a label using webdriver selenium

我对 web 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 的源代码:link

你可以这样试试吗

按标签

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)