无法使用Selenium wbedriver单击超链接,因为他们(开发人员)使用Knockout JS和MVC,所以请给出如何在Automate中处理这些类型的JS的步骤
例如
<a href="#" data-bind="click: $root.lnkAdd">New Grade</a>
在测试期间我想点击该超链接(新等级)
所以请帮我解决一下这个问题
问候 prabu
答案 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']")