簡體   English   中英

Selenium Webdriver代碼查找 <li> 下課

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM