2010-11-12 72 views
2

我正在使用最新版本的webdriver。虽然我可以选择正确的链接,但似乎实际上点击了错误的链接。WebDriver点击错误的URL

以下是一些用于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")); 
    } 

回答

2

首先,你有一个错误在你clickResult,met6hod:你应该通过iresultLinks.get

public void clickResult(int i) { 
    initPage(); 
    List<WebElement> resultLinks = getSearchResultLinks(); 
    resultLinks.get(i).click();  
    } 

另一个可能的问题可能是由getSearchResultLinks返回的列表是基于零数组,因此要获得第一个搜索结果,您必须调用clickResult(0)等。这对程序员来说可能是显而易见的,但测试人员在这里可能会遇到问题:)

+0

嗨,我在测试过程中遇到了这个问题。但这不是问题。索引也不是问题。如果我访问href属性,我会得到正确的链接目标。然而,只要我呼叫点击它点击完全不同的地方 – 2010-11-15 07:08:56

+0

如果您使用InternetExplorerDriver,有一些问题,可能会导致此: - 如果缩放不是100%,它可能有麻烦点击一个元素 - 如果链接是在浏览器窗口的边缘附近可能会出现点击问题 - 如果链接文本太长或者有一些特殊字符,可能会出现点击问题 您使用的驱动程序是什么?你尝试过Firefox吗? – 2010-11-15 11:03:53