Python:通过css选择器查找元素
我正在尝试使用webdriver单击登录按钮Python:通过css选择器查找元素,python,selenium,selenium-webdriver,web-scraping,css-selectors,Python,Selenium,Selenium Webdriver,Web Scraping,Css Selectors,我正在尝试使用webdriver单击登录按钮 <a class="login-btn" href="javascript:;" data-bind="click:loginSection.loginClick"> <span class="btn-text">Login</span> </a> 或者尝试以下代码: submit=driver.find_element_by_class_name('login-btn').click()
<a class="login-btn" href="javascript:;" data-bind="click:loginSection.loginClick">
<span class="btn-text">Login</span>
</a>
或者尝试以下代码:
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"}
要单击登录按钮,您可以使用以下代码行之一:
driver.find_element_by_css_selector("a.login-btn[data-bind='click:loginSection.loginClick'] > span.btn-text").click()
- 链接文本:
- CSS选择器:
- 使用CssSelector获得更细粒度还可以使用以下代码行:
driver.find_element_by_css_selector("a.login-btn[data-bind='click:loginSection.loginClick'] > span.btn-text").click()
当您看到NoTouchElementException时,您可以检查它是否不工作。我很确定用户名和密码是正确的。@Lara19错误说明了什么?你能用粘贴问题中的错误吗?NoTouchElementException:消息:没有这样的元素:找不到元素:{“方法”:“css选择器”,“选择器”:“a.login-btn[data bind='click:loginSection.loginClick']>span.btn text”}你能检查一下你的登录表单是否在iframe中吗?DebanjanB建议的应该可以。你有没有试过在那条线前耽搁一下?您可以像这样尝试
驱动程序。通过链接文本(“登录”)查找元素。也可以单击()。顺便说一句,这是一个慢加载页面吗?@Mouli-nope,不是:)@SIM这很奇怪,它符合你的建议:)不是慢加载页面,只是从来没有点击过按钮
driver.find_element_by_css_selector("a.login-btn > span.btn-text").click()
driver.find_element_by_css_selector("a.login-btn[data-bind='click:loginSection.loginClick'] > span.btn-text").click()