我正在尝试使用Selenium WebDriver自动执行页面。该页面包含具有以下xpath的表。
在下面找到一个可以正常工作的示例xpath验证。我将它遍历div,因为将行视为div,在该表下将有一个表,其中提到了所有行。
table = common.getObjectByXpath("html/body/div[4]/div[4]/div[1]/div/div/div[3]/div/div[2]/div/div/div/div");
rows = table.findElements(By.tagName("div"));
for(int i=1;i<=rows.size();i++){
if(driver.findElement(By.xpath("html/body/div[4]/div[4]/div[1]/div/div/div[3]/div/div[2]/div/div/div/div/div["+i+"]/table/tbody/tr/td[5]/span").getText().equals("endnode 11.1"))){
System.out.println(" print Something");
}
}
它与xpath正常工作。但我想用CSS选择器来做。我附上表格的样本格式。在下图中,每个div都被视为一行,在其下您将看到一个表,其中包含各列的条目。
您使用的xpath非常脆弱,因为它从html
元素开始,并且在很大程度上取决于页面的HTML结构。毋庸置疑-它巨大且可读性不强。
而是依靠元素属性-类或ID。例如:
div#dojox_grid__View_11 div.dojoxGridContent div.dojoxGridRow
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句