0

我必须使用这样的按钮测试动态应用程序:

 <button class="btn btn-primary btn-mini" ng-click="addAnswer(question)" ng-show="question.editing">Add Answer</button>

我试图用它来定位按钮,但我失败了

getDriver().findElement(By.xpath("//img [@ng-click='addAnswer(question)']")).click();

使用 CSS

List AddAnswerBtn = getDriver().findElements(By.className("btn-primary")); AddAnswerBtn.get(0).click();

找到它的正确线是什么?我不想使用类来定位它,我想使用 Xpath 来定位按钮位置。

4

3 回答 3

1

您的示例显示它是一个按钮,但您的 XPath 正在寻找图像

//img[@ng-click='addAnswer(question)']

以上是您正在使用的,以img作为元素类型。

将此更改为button.

于 2013-04-08T08:24:01.563 回答
0

Xpath 有时在 chrome 浏览器中无法正常工作。使用firefox驱动找到它,如果你不确定你的xpath是否正确,使用Firepath。或者在 Chrome Xpath Helper 中。

于 2013-04-08T09:22:14.467 回答
0

您的 xpath 指的是图像,而不是按钮。

getDriver().findElement(By.xpath("//img [@ng-click='addAnswer(question)']")).click();

将此更改为

getDriver().findElement(By.xpath("//button[@ng-click='addAnswer(question)']")).click();
于 2016-11-29T09:35:24.967 回答