[英]Selenium Webdriver code to find <li> under class
如何使用Selenium WebDriver(Java)使用類名而不是xpath或css定位符在<li>
獲取文本。
<body><table width="599" align="center" border="0" cellSpacing="0"
cellPadding="0"><tbody>
<tr>
<td width="599" class="error">
<font color="#ff0000">
<span class="errorHdr">The following errors occurred:</span>
<p></p><ul><ul><li>Invalid or incorrect user name entered.</li>
<li>Incorrect password entered. Passwords are case-sensitive. Please try again.</li>
</ul></ul>
</font>
</td>
</tr>
</tbody></table></body></html>
不,您無法使用類名獲取li文本。 使用xpath或cssSelector有什么問題? 這些都是針對像您這樣的情況而設計的。 無論如何,為了迎合您的想法,還有另一種使用標記名的方法,如下所述:
List<WebElement> allLi = driver.findElements(By.tagName("li"));
for(WebElement eachLi:allLi){
String tmp = eachLi.getText();
System.out.println("Text in li: "+tmp); //You may match for your required text, before printing/using it.
}
不使用XPath或CSS選擇器就無法獲取li文本。 另外,為什么您仍然不願意使用它? 我個人更喜歡CSS而不是XPath。 下面是我將如何做。 基本上我在classname error
td
下獲取所有li
元素
List<WebElement> lis = driver.findElements(By.cssSelector("td.error li"));
for(WebElement li:lis){
System.out.println(li.getText());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.