Selenium - 点击链接

时间:2015-07-28 15:18:16

标签: java selenium selenium-webdriver

我正在尝试点击列表中的链接。从截图中可以看出我试图点击“阿尔及利亚”链接。我怎么去那儿?

capture of list and elements

Css如下 - #\ 33 \ 2c ALG

xpath是 - // * [@ id =“3,ALG”]

我试过通过xpath和cssSelector找到它但没有运气

1 个答案:

答案 0 :(得分:5)

By.linkText()定位器非常适合这里:

driver.findElement(By.linkText("Algeria")).click();

您可能还需要添加Explicit Wait以等待元素存在:

WebDriverWait wait = new WebDriverWait(webDriver, 10);

WebElement link = wait.until(ExpectedConditions.presenceOfElementLocated(By.linkText("Algeria"))); 
link.click();

您可能还需要在点击链接之前打开列表:

WebDriverWait wait = new WebDriverWait(webDriver, 10);

WebElement linkList = wait.until(ExpectedConditions.presenceOfElementLocated(By.className("oList"))); 
linkList.click();

WebElement link = wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Algeria"))); 
link.click();