如何解决如何让 Selenium 识别按钮并单击它?
我如何让 selenium python 识别 HTML 中的这个按钮?
我已经尝试过这个和其他标签来获得它
driver.find_element_by_class_name('cookie-monster').clickbutton
print('button was clicked')
这是按钮代码片段
<button class="cookie-monster__cta cookie-monster__cta--primary js-cookie-monster-accept">
<span class="glyphicon glyphicon-ok"></span>
Accept All Cookies
</button>
解决方法
您的定位器有误。该类名为 cookie-monster__cta
,而不是 .cookie-monster
。 js-cookie-monster-accept
似乎是唯一的类名。使用它来查找您的元素。
此外,您应该在点击元素之前等待它们。
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
wait = WebDriverWait(driver,20)
wait.until(EC.element_to_be_clickable(
(By.CSS_SELECTOR,"js-cookie-monster-accept")))
button = driver.find_element_by_css_selector("js-cookie-monster-accept")
button.click()
如果此定位器不是唯一的,则将类一一添加到 wait
和 find_element_by_css_selector
,如下所示:
.js-cookie-monster-accept.cookie-monster__cta
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。