Java 如何检查a<;中的所有元素;ul>;使用SeleniumWebDriver列出?
是否可以循环浏览Java 如何检查a<;中的所有元素;ul>;使用SeleniumWebDriver列出?,java,list,selenium,webdriver,Java,List,Selenium,Webdriver,是否可以循环浏览的所有li元素。假设我有一个未知数量的li元素,因此循环它们的一种方法是为施加一个for循环,最大可能数为lis,比如100,然后施加try and catch try{ for (int i=0; i<100; i++) { driver.findElement(By.xpath("//div[@id='...']/ul/li[i]")); } } catch {...} 试试看{ 对于(int i=0;iWebdriver有findElementsAPI,可用于此目
的所有li
元素。假设我有一个未知数量的li
元素,因此循环它们的一种方法是为施加一个for
循环,最大可能数为li
s,比如100,然后施加try and catch
try{
for (int i=0; i<100; i++) {
driver.findElement(By.xpath("//div[@id='...']/ul/li[i]"));
}
}
catch {...}
试试看{
对于(int i=0;iWebdriver有findElements
API,可用于此目的
List<WebElement> allElements = driver.findElements(By.xpath("//div[@id='...']/ul/li"));
for (WebElement element: allElements) {
System.out.println(element.getText());
}
List-allegements=driver.findElements(By.xpath(“//div[@id=”…”]/ul/li”);
for(WebElement:等位基因){
System.out.println(element.getText());
}
如果将索引i
从字符串中取出,则初始代码可能会工作,如下所示:
try {
for (int i=0; i<100; i++) {
driver.findElement(By.xpath("//div[@id='...']/ul/li["+i+"]"));
}
}
catch {...}
试试看{
对于(inti=0;iList-allegements=driver.findElements(By.xpath(“//div[@id=”…')]/ul/li”);
int s=等位基因.size();
对于(int i=1;i而言,您的目的是获取ul中的所有li。因此,需要首先定位ul,然后定位该ul中的所有li。您可以使用以下Selenium Java代码:
WebElement ul_element = driver.findElement(By.xpath("//ul[@class='list-unstyled']"));
List<WebElement> li_All = ul_element.findElements(By.tagName("li"));
System.out.println(li_All.size());
for(int i = 0; i < li_All.size(); i++){
System.out.println(li_All.get(i).getText());
}
//OR
for(WebElement element : li_All){
System.out.println(element.getText());
}
WebElement ul_element=driver.findElement(By.xpath(“//ul[@class='list-unstyled']”);
列出li_All=ul_element.findElements(按.tagName(“li”));
System.out.println(li_All.size());
对于(int i=0;i
您已将i值限制为i<100。如果li s的数量超过100,会发生什么?由于li s的数量未知,将该值设置为100是不明智的。请添加一些解释,说明此答案如何帮助解决当前问题
WebElement ul_element = driver.findElement(By.xpath("//ul[@class='list-unstyled']"));
List<WebElement> li_All = ul_element.findElements(By.tagName("li"));
System.out.println(li_All.size());
for(int i = 0; i < li_All.size(); i++){
System.out.println(li_All.get(i).getText());
}
//OR
for(WebElement element : li_All){
System.out.println(element.getText());
}