Knockout JS - 超链接未在Selenium webdriver中处理

时间:2013-04-12 05:31:25

标签: knockout.js selenium-webdriver knockout-mvc

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

例如

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

在测试期间我想点击该超链接(新等级)

所以请帮我解决一下这个问题

问候 prabu

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

使用Knockout不会改变您在页面上找到元素的方式。它仍然只是在一天结束时的常规HTML。 我的selenium经验有点陈旧,但我过去常常使用xpath

来定位元素

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