如何使用Selenium web驱动程序(Java代码)单击并检查网页表格列中的超链接

时间:2013-11-20 15:10:10

标签: selenium-webdriver

我的问题很简单 - 使用Selenium。任何人都可以帮我这个。我在java中使用selenium。网页包含5列的表。在第二列中有超链接列表。我想点击每一个在第二列中逐个链接并检查一些标准。 请做好帮助。谢谢。

=============================================== ==================================

这是我的代码部分:

WebElement table = d1.findElement(By.xpath(“// * [@ id ='search_results'] / table”));

         // Now get all the TR elements from the table 
         List<WebElement> allRows = table.findElements(By.tagName("tr"));
         //WebElement cell1 =allRows.get(1);
        // System.out.println("Table"+ allRows.get(1).getText());


         //System.out.println(allRows.size());
         // And iterate over them, getting the cells 
         for (WebElement row : allRows) { 
           List<WebElement> cells = row.findElements(By.tagName("td")); 
           for (WebElement cell : cells) { 
               String s = cell.getText();

=============================================== =================== 此代码检索所有表数据。我需要逐个单击第二列值(超链接)中的每个链接并检查一些条件。

=============================================== ==================

显示“WebElements”不能是已解析的类型。这是我的完整代码

公共课阅读{      public static void main(String [] args)抛出InvalidFormatException,IOException,InterruptedException         {

     WebDriver d1= new FirefoxDriver();
     d1.get("https://fusion.paypal.com/fusionportal/");
     WebElement ds = d1.findElement(By.xpath("//*[@id='ext-gen176']/ul/li/a"));
     ds.click();
     WebElement dt = d1.findElement(By.xpath("//*[@id='ext-gen178_startDate']"));
     dt.sendKeys("20/11/2013");
     WebElement sc = d1.findElement(By.xpath("//*[@id='searchDeploys']/tbody/tr[2]/td[2]"));
     sc.click();
     Thread.sleep(2000);
     //WebElement table_element = d1.findElement(By.xpath("//*[@id='ext-gen236']"));
     //List<WebElement> tr=table_element.findElements(By.xpath("//*[@id='ext-gen236']"));
     WebElements links = d1.findElement(By.xpath("//*[@id='ext-gen238']/div[1]/table/tbody/tr/td[2]/div"));

    for (WebElement link : links) {

       link.click();
     } 

} }

1 个答案:

答案 0 :(得分:0)

很难知道如果没有看到HTML,但假设它是代码中其他代码的常规表,请尝试类似

的内容
List<WebElement> links = d1.findElement(By.xpath("//*[@id='search_results']/table/tr/td[2]/a"));
for (WebElement link: links) {
  link.click();
}