Python:find_element_by_css_selector

时间:2018-02-02 08:09:00

标签: selenium selenium-webdriver web-scraping

我正在尝试使用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"}

1 个答案:

答案 0 :(得分:3)

要点击登录按钮,您可以使用以下任一代码:

  • 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 时,您可以查看this discussion