Xpath的FindElement不适用于“添加新”按钮

时间:2014-07-10 09:28:34

标签: java button selenium xpath click

<a class="add-new pull-right" href="javascript:void(0);">

    <span class="add-new-icon omedia-plus-circled"></span>

     Add New

</a>

代码用于&#34;添加新&#34;存在的按钮。

Add New按钮的xpath是:

/x:html/x:body/x:nav[2]/x:div/x:div[2]/x:div/x:a

我试过这段代码:

wd.findElement(By.xpath("//a[contains(@href,\"javascript:void[0]\")]")).click();

但它不起作用。 能帮帮我吧..

3 个答案:

答案 0 :(得分:1)

怎么样:

wd.findElement(By.xpath("//a[contains(@href,\"javascript:void(0)\")]")).click();
                                                             ^ ^
                                                             Notice the use of 
                                                             brackets

答案 1 :(得分:1)

为什么不选择classname?

wd.findElement(By.className( “添加新”))点击();

你应该注意的一件事是,xpath表达式被认为是识别元素的最坏方法,而不是使用CSS选择器,特别是如果你在IE中测试,因为xpath实现不是本机的,而且非常慢。我建议阅读http://saucelabs.com/resources/selenium/css-selectors以简要介绍一些示例,也可能有http://saucelabs.com/resources/selenium/selenium-xpath-marks-the-spot的内容,以便了解使用xpath的一些不利因素。

答案 2 :(得分:0)

您应该通过此innertext分隔2个按钮。试试

//a[contains(@class, 'add-new') and contains(., 'Add New')]

for&#34; Add New&#34;按钮。和

//a[contains(@class, 'add-new') and contains(., 'Add New Campaign')]

for&#34;添加新广告系列&#34;按钮。