我如何使用 Selenium 找到这个按钮?我尝试了 partiallinktext 并多次尝试 cssSelector
How do I find this button with Selenium? I tried partiallinktext and multiple attempts at cssSelector
我需要找到这个 table 里面的按钮。理想的情况是通过 'Course Home' 文本找到它,因为这是用户找到它的方式,但在这一点上,由于这不是我正在测试的,我愿意使用任何方法,只要它能找到并点击按钮。
我试过:
- By.cssSelector("div.buttons:nth-child(1) > button:nth-child(1)") //最不喜欢的方法
- By.partialLinkText("Course Home");//理想
- By.cssSelector("div.two>div.buttons>button")//之类的尝试,只是抓住救命稻草而已
但是 none 这些工作。我的测试只是挂起,寻找按钮直到它超时。我做错了什么?
PS 我正在使用 Java.
<td valign="middle">
<div class="two">
<div class="buttons">
<button onclick="document.location.href='file/path/redacted/'">
<img src="/images/button_icons/house.png">
Course Home
</button>
</div>
</div>
</td>
尝试使用 xpath 作为:
By.xpath("//button/img[.='Course Home']");
或
By.xpath("//button[contains(.,'Course Home')]");
我喜欢基于文本的搜索xpath
//*[.='Course Home']
只需要确保文本包含所有前导或尾部空格即可。使用 .
它使我们能够直接指向元素的父节点 *
在页面上搜索任何标签
我更喜欢 CSS 而不是 xpath,可以找到我的答案 here
至于您的解决方案,Vivek 和 Saifur 提供的 xpath 选项也应该有效。我会提供一些css选项
div.buttons>button
或
div.two>div.buttons>button
或
div.two button
我需要找到这个 table 里面的按钮。理想的情况是通过 'Course Home' 文本找到它,因为这是用户找到它的方式,但在这一点上,由于这不是我正在测试的,我愿意使用任何方法,只要它能找到并点击按钮。
我试过:
- By.cssSelector("div.buttons:nth-child(1) > button:nth-child(1)") //最不喜欢的方法
- By.partialLinkText("Course Home");//理想
- By.cssSelector("div.two>div.buttons>button")//之类的尝试,只是抓住救命稻草而已
但是 none 这些工作。我的测试只是挂起,寻找按钮直到它超时。我做错了什么?
PS 我正在使用 Java.
<td valign="middle">
<div class="two">
<div class="buttons">
<button onclick="document.location.href='file/path/redacted/'">
<img src="/images/button_icons/house.png">
Course Home
</button>
</div>
</div>
</td>
尝试使用 xpath 作为:
By.xpath("//button/img[.='Course Home']");
或
By.xpath("//button[contains(.,'Course Home')]");
我喜欢基于文本的搜索xpath
//*[.='Course Home']
只需要确保文本包含所有前导或尾部空格即可。使用 .
它使我们能够直接指向元素的父节点 *
在页面上搜索任何标签
我更喜欢 CSS 而不是 xpath,可以找到我的答案 here
至于您的解决方案,Vivek 和 Saifur 提供的 xpath 选项也应该有效。我会提供一些css选项
div.buttons>button
或
div.two>div.buttons>button
或
div.two button