【发布时间】:2020-02-15 13:00:12
【问题描述】:
我是硒的新手。
我正在尝试遍历具有很多子元素的网页上的下拉框中的所有元素。我这样做是为了获取选择标签中所有选项的所有 href 属性。 我正在使用 Xpath 表达式查找元素。
我正在使用 Selenium WebDriver 和 FireFox 浏览器。结果是我所期望的,但测试非常缓慢。
如果我可以通过任何替代方法来加快测试速度?
这是我正在使用的代码 -
private void captureElements(String xpath)
{
List<WebElement> list=null;
if((list=driver.findElements(By.xpath(xpath)))!=null){
int length = list.size(); int i=length;
while(i>0){
WebElement ele = list.get(length-i);
Actions builder = new Actions(driver);
builder.moveToElement(ele).build().perform();
LogElementToExcel(ele);
int index = length-i+1;
String newxpath = xpath.replace("/a", "["+index+"]/ul/li/a");
captureElements(newxpath);
i--;
}
}
}
【问题讨论】:
-
也许使用一个 XPath 来获取包含所有选项的节点集,而不是每个选项一个 XPath?
-
你能发布你的来源吗?我更喜欢 cssSelector 而不是 xpath。此外,您可以从没有 cssSelector 或 xpath 的下拉列表中获取所有选项
Select select = new Select(webElement); List<WebElement> options = select.getOptions()。代码是java。你用的是什么语言?
标签: selenium webdriver selenium-webdriver