2014-01-28 100 views
0

我是硒新成员。我在页面上有类似的xpaths链接(假设链接1到30)。我需要验证它们全都存在于页面上(我希望硒像这样打印出每个元素的“元素1”),并且它们都是可点击的(新页面将打开)。 到目前为止,我有这样的代码对所有链接点击一个个和打印他们的头衔:如何验证链接并在Selenium webdriver中点击它们Java

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

我已经阅读了几次,我不明白你在问什么。你能显示重复代码的3个实例吗? –

回答

0

在串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。

相关问题