我使用的是最新版本的webdriver。虽然我可以选择正确的链接,但实际上点击了错误的链接。
以下是一些用于Google的代码。它只需点击Google搜索结果即可。
@FindBy (id ="ires")
private WebElement searchResults;
public void clickResult(int i) {
initPage();
List<WebElement> resultLinks = getSearchResultLinks();
resultLinks.get(2).click();
}
private List<WebElement> getSearchResultLinks (){
return searchResults.findElements(By.className("l"));
}
答案 0 :(得分:2)
首先,您的clickResult
,met6hod中出现错误:您应该将i
传递给resultLinks.get
:
public void clickResult(int i) {
initPage();
List<WebElement> resultLinks = getSearchResultLinks();
resultLinks.get(i).click();
}
另一个可能的问题可能是getSearchResultLinks
返回的列表是基于零的数组,因此要获得第一个搜索结果,您必须调用clickResult(0)
,依此类推。这对程序员来说可能是显而易见的,但测试人员可能会遇到问题:)