0

无法使用 Selenium wbedriver 单击超链接,因为他们(开发人员)使用带有 MVC 的 Knockout JS,所以请给出如何在 Automate 中处理这些类型的 JS 的步骤

例如

<a href="#" data-bind="click: $root.lnkAdd">New Grade</a>

在测试期间我想点击那个超链接(新成绩)

所以请帮助我如何做到这一点

问候普拉布

4

2 回答 2

2

3种方法来做到这一点。

正常方式

WebElement link=browser.findElement(By.xpath("//a[text()='New Grade']"));
link.click();
//click once again
link.click();

键盘方式,ENTER键

link.sendKeys(Keys.ENTER);

讨厌的棘手方法,移至该链接,然后单击或发送 ENTER 键

Actions moveTo = new Actions(driver);
moveTo.moveToElement(link).click().build().perform();
于 2013-04-12T07:10:25.870 回答
1

使用 Knockout 不会改变您在页面上定位元素的方式。归根结底,它仍然只是普通的 html。我的 selenium 体验有点过时,但我过去总是使用 xpath 来定位元素

前任:sel.Click("//a[text()='New Grade']")

于 2013-04-12T05:43:32.920 回答