如何在网页中动态获取所有超链接的唯一xpath

时间:2018-01-17 13:31:53

标签: java selenium xpath automation

我有一些网页,其中包含某些单词的超链接,也可以重复。我需要验证每个单词的超链接,例如单词public class MainAgent { private ILogger log; public MainAgent(ILogger _log) { log = _log; } public void Start() { //Main Application Code here. Console.WriteLine("main Agent Started."); log.Info("Logging through logger in MainAgent Class"); Console.ReadLine(); } } ,在该页面中为3次。点击每个头痛后,同一页面打开。

是否有任何方法可以为所有单词headache返回XPath,因为为了自动化,我需要点击每个headache并验证网址。

我可以手动编写XPath,但如果同一页面上有很多headache个单词有超链接怎么办?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此xpath = //a[text()='headache']或使用linkText driver.findElements(By.linkText("headache"))找到

List<Webelement> ele = driver.findElements(By.linkText("headache"))

    for(Webelement link: ele){

    link.click();

     // other operation 

    }

答案 1 :(得分:0)

在xpath中,您必须声明元素类型,例如: driver.findElements(By.xpath(".//link[text()='headache']")).forEach(WebElement::click)

此外,如果您只需检查链接是否正确,您可以使用Rest Assured库并通过http发送获取请求。