【问题标题】:Unable to locate css_selector element Selenium无法定位硒元素
【发布时间】:2019-09-30 21:06:31
【问题描述】:

我正在尝试使用 Selenium 找到一个可以单击的按钮。包含按钮的 html 部分如下:

<button class="btn-standard call-to-action">Login</button>

我正在尝试通过以下方式找到它:

btn = driver.find_element_by_css_selector("btn-standard.call-to-action")

然后我应该执行btn.click()

但是当我尝试运行代码时,我得到了这个错误:

 no such element: Unable to locate element: {"method":"css 
selector","selector":"btn-standard.call-to-action"}

我该如何解决这个问题?

【问题讨论】:

  • 让我们知道以下解决方案是否适合您?

标签: python css selenium selenium-webdriver button


【解决方案1】:

试试这个

btn = driver.find_element_by_css_selector(".btn-standard.call-to-action")

您在 css_selector 的开头缺少一个点,因此它会查找元素 btn-standard 而不是类。而且没有btn-standard这样的元素

您也可以尝试使用类的元素类型,如下所示:

btn = driver.find_element_by_css_selector("button.btn-standard")

或任何类和元素类型的混合

【讨论】:

    【解决方案2】:

    对于 CSS 选择器 '.'仅在类的开头附加。 你可以试试这个:

           btn = driver.find_element_by_css_selector("button.btn-standard")
    

    【讨论】:

      【解决方案3】:

      你甚至可以使用 xpath:

      btn = driver.findElement(By.xpath("//button[contains(text(),'Login')]"))
      

      【讨论】:

        猜你喜欢
        • 2020-07-23
        • 1970-01-01
        • 2021-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-09
        • 2019-12-01
        相关资源
        最近更新 更多