首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法定位css_selector元素Selenium

无法定位css_selector元素Selenium
EN

Stack Overflow用户
提问于 2019-05-13 21:40:46
回答 3查看 230关注 0票数 0

我正在寻找一个按钮来点击Selenium。html中包含按钮的部分如下:

代码语言:javascript
复制
<button class="btn-standard call-to-action">Login</button>

我试图通过以下方式找到它:

代码语言:javascript
复制
btn = driver.find_element_by_css_selector("btn-standard.call-to-action")

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

但是,当我试图运行代码时,我会得到以下错误:

代码语言:javascript
复制
 no such element: Unable to locate element: {"method":"css 
selector","selector":"btn-standard.call-to-action"}

我怎么才能解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-05-13 21:55:50

尝尝这个

代码语言:javascript
复制
btn = driver.find_element_by_css_selector(".btn-standard.call-to-action")

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

此外,您还可以使用类尝试元素类型,如下所示:

代码语言:javascript
复制
btn = driver.find_element_by_css_selector("button.btn-standard")

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

票数 1
EN

Stack Overflow用户

发布于 2019-05-14 01:10:15

您甚至可以使用xpath:

代码语言:javascript
复制
btn = driver.findElement(By.xpath("//button[contains(text(),'Login')]"))
票数 1
EN

Stack Overflow用户

发布于 2019-05-13 21:59:28

对于css选择器“.”在开始时仅为类附加。你能试试这个吗?

代码语言:javascript
复制
       btn = driver.find_element_by_css_selector("button.btn-standard")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56120232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档