我是硒的新手。硒测试递归定位元素很慢
我试图遍历网页上的下拉框中的所有元素与很多子元素。我这样做是为了获得select标签中所有选项的所有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? – minopret 2012-04-05 07:06:56
你可以发布你的源?我喜欢cssSelector over xpath。此外,您可以从下拉列表中选择所有选项,而不使用cssSelector或xpath,并使用'Select select = new Select(webElement);列表 options = select.getOptions()'。代码是java。你使用哪种语言? –
Tarken
2012-04-05 07:44:49