我正在尝试点击列表中的链接。从截图中可以看出我试图点击“阿尔及利亚”链接。我怎么去那儿?
Css如下 - #\ 33 \ 2c ALG
xpath是 - // * [@ id =“3,ALG”]
我试过通过xpath和cssSelector找到它但没有运气
答案 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();