繁体   English   中英

如何验证链接并在Selenium Webdriver Java中单击链接

[英]How to verify links and click on them in Selenium webdriver Java

我是硒新手。 我在页面上有具有相似xpath的相似链接(比方说链接1到30)。 我需要验证所有这些元素是否都在页面上(我希望硒为每个元素打印类似“此元素存在1”之类的东西)并且它们都是可单击的(将打开新页面)。 到目前为止,我已经有了这段代码来单击所有链接,并打印其标题:

    driver.get("http://anysite.com");
    String part1=".//*[@id='footer']/div/div[1]/div[2]/ul/li[";
    String part2="]/a";
    for (int i=1;i<=30;i++){
    String text = driver.findElement(By.xpath(part1+i+part2)).getText();
    System.out.println(text);
    driver.findElement(By.xpath(part1+i+part2)).click();
    System.out.println(driver.getTitle());
    driver.get("http://anysite.com");

另外,我有以下代码可以分别验证每个单独的链接的存在(如果我有30个链接,则必须将此代码重复30次):

    if(driver.findElements(By.xpath(".//*[@id='footer']/div/div[1]/div[2]/ul/li[1]/a")).size() != 0){
      System.out.println("Element Link 1 is Present");
      }else{
      System.out.println("Element Link 1 is Absent");
      }

到目前为止,我有两个测试用例,是否有任何方法可以将这两部分组合成一个不错的部分? 谢谢!

在字符串1中,您将xpath用作:

String part1=".//*[@id='footer']/div/div[1]/div[2]/ul/li[";

而应该是:

String part1="//*[@id='footer']/div/div[1]/div[2]/ul/li[";

您需要删除点“。” 从您的xpath。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM