使用findElements的Selenium

时间:2016-04-13 06:27:03

标签: selenium xpath

如何自动点击项目列表枚举的链接。

tabLayout.getTabAt(<Your last selected tab>);

是否可以使用*A *B *C *D *E xpath of "*A" is html/body/ul/li[1]/a xpath of "*B" is html/body/ul/li[2]/a ... 点击所有项目?

3 个答案:

答案 0 :(得分:0)

你可以在这里使用findElement方法,你可以使用选项查找元素,它会对你更有帮助。如果你想要我提供的示例代码,你可以随时问我

答案 1 :(得分:0)

第一个答案是肯定但是!如果点击后您将不会被重定向到其他页面。

  1. 您需要创建包含所有li的集合。
  2. IList<IWebElement> liCollection = driver.FindElement(By.Xpath("html/body/ul")).FindElements(By.TagName("li");
    1. 你需要逐个循环它们并调用点击

      for(int i = 0 ; i < liCollection.Count ; i++) { liCollection[i].FindElement(By.TagName("a")).Click; //Thread.Sleep(2000); liCollection = driver.FindElement(By.Xpath("html/body/ul")).FindElements(By.TagName("li")); }

    2. !!! STACKOVERFLOW代码格式问题!!!

答案 2 :(得分:0)

试试这可能会对你有所帮助

    //count the list
    List<WebElement> ButtonNamelist=driver.FindElements(By.Xpath("html/body/ul"));
    int listcount=ButtonNamelist.size();

    for(int i=1;i<=listcount;i++){
    driver.findElement(By.xpath("html/body/ul/li["+i+"]/a")).click();
    //you need to navigate back here to click on the other elements use waits to load the element and click again
    }