如何使用Selenium找到此按钮?我尝试了partiallinktext和cssSelector的多次尝试

时间:2015-01-15 21:23:03

标签: java selenium webdriver qa

我需要找到此表中的按钮。理想的是通过“课程主页”找到它。文字,因为这是用户如何找到它,但此时,由于这不是我测试的内容,我愿意使用任何方法,只要它能找到并点击按钮。

我试过了:

  • By.cssSelector(" div.buttons:nth-​​child(1)>按钮:nth-​​child(1)")//最不喜欢的方法
  • By.partialLinkText(" Course Home"); //理想
  • By.cssSelector(" div.two> div.buttons>按钮")//和其他此类尝试,只是抓住吸管

但这些都不起作用。我的测试只是挂起,寻找按钮直到它达到超时。我做错了什么?
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>

3 个答案:

答案 0 :(得分:1)

我是基于文本的xpath

搜索的粉丝
//*[.='Course Home'] 

只需要确保文本包含所有前导或尾随空格,并且几乎就是这样。使用.,它使我们能够直接指向元素的父节点,*搜索页面上的任何标记

答案 1 :(得分:0)

尝试将xpath用作:

By.xpath("//button/img[.='Course Home']");

By.xpath("//button[contains(.,'Course Home')]");

答案 2 :(得分:0)

我更喜欢CSS而不是xpath,我的答案可以找到here

至于你的解决方案,Vivek和Saifur提供的xpath选项也应该有用。我将提供一些CSS选项

 div.buttons>button

 div.two>div.buttons>button

 div.two button