![](/img/trans.png)
[英]Not able to click all links on a web page using Java and Selenium Webdriver
[英]How to click on specific link after extracting all the links from a web page in selenium webdriver
我是自动化世界的新手,致力于自动化 BBC 网站。 我有很多链接,还有链接中的文本。 . 我想单击带有“辅助功能帮助”文本的特定链接。 请告知我该怎么做。 以下是我的代码:
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class BBC_AllLinks {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
WebDriver driver = new FirefoxDriver();
driver.get("http://www.bbc.com");
List<WebElement> allLinks = driver.findElements(By.tagName("a"));
//Total number of links in the webpage
System.out.println("Total Links--> "+allLinks.size());
//35th index
Thread.sleep(4000);
for (int i =0; i<=allLinks.size();i++)
System.out.println(allLinks.get(i).getText()+"----"+allLinks.get(i).isDisplayed());
}
}
您可以使用 Xpath 直接单击具有特定文本内容的链接,如下所示(未经测试的代码):
driver.findElement(By.xpath("//a[contains(text(), \"Accessibility Help\")]")).click();
请注意,如果此文本有多个链接,它将尝试单击第一个满足文档顺序条件的链接。 一般来说,如果可能的话,最好用 id 或唯一的 CSS 选择器来标识元素。
您还可以遍历您手动拥有的 Web 元素列表并检查其中的文本(通过getText() 之类的方法)并单击自己。
我对你的代码应该做什么感到困惑。 您是否尝试记录页面上的所有链接,然后单击该链接? 或者你只是想点击链接?
如果您要做的只是单击该链接,那么这就是您所需要的。
driver.findElement(By.linkText("Accessibility Help")).click();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.