2010-11-12 51 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