一尘不染

Python:find_element_by_css_selector

selenium

我正在尝试使用webdriver单击登录按钮

<a class="login-btn" href="javascript:;" data-bind="click:loginSection.loginClick">
    <span class="btn-text">Login</span>
</a>

我的代码:

submit=driver.find_element_by_css_selector('a.login-btn').click()

或尝试以下代码:

submit=driver.find_element_by_class_name('login-btn').click()

这些都不起作用,需要一些建议。提前致谢

错误:

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"a.login-btn"}

阅读 532

收藏
2020-06-26

共1个答案

一尘不染

要单击“ 登录” 按钮,可以使用以下任一代码行:

  • LinkText

    driver.find_element_by_link_text("Login").click()
    
  • CssSelector

    driver.find_element_by_css_selector("a.login-btn > span.btn-text").click()
    
  • 使用 CssSelector可以获得 更细粒度的 信息, 您还可以使用以下代码行:

    driver.find_element_by_css_selector("a.login-btn[data-bind='click:loginSection.loginClick'] > span.btn-text").click()
    

更新:当您看到 NoSuchElementException时,可以检查此讨论

2020-06-26