Selenium Webdriver无法找到并单击按钮



我正在尝试创建一个刮板,并且为了访问页面,我需要单击接受cookie按钮。引用按钮的HTML是:

<div class="qc-cmp2-summary-buttons">
<button mode="secondary" size="large" class=" css-1hy2vtq">
<span>MORE OPTIONS</span>
</button><button mode="primary" size="large" class=" css-47sehv">
<span>AGREE</span></button></div>

我要点击的按钮是第二个,命名为"AGREE"

我试着:

driver.find_element(By.CLASS_NAME, " css-47sehv").click()

得到错误selenium.common.exceptions.InvalidSelectorException: Message: invalid selector:指定了一个无效或非法的选择器

由于类名值前有空格而收到的错误。
类名之间的空格用于分隔多个类名。
因此,要使用这个特定的类名,您可以尝试这样做(不带空格):

driver.find_element(By.CLASS_NAME, "css-47sehv").click()

但是css-47sehv似乎是一个动态生成的类名,所以我建议使用更固定的属性来定位该元素。
试试这个定位器:

driver.find_element(By.XPATH, "//button[contains(.,'AGREE')]").click()

为了给你更好的答案,我们需要看到网页和所有的硒代码

尝试使用By.CSS_SELECTOR。查找元素并复制其选择器

相关内容

  • 没有找到相关文章

最新更新