簡體   English   中英

不使用Xpath的Selenium中的FindElement

[英]FindElement in Selenium without using Xpath

我想找到不使用xpath的元素,但是我的頁面上還有另一個ul元素和“ class = title”。 因此,我也不能使用Type或“ class = title”。

<div id="pai">
<div class="def">
    <div class="abc" >
        <p class=title>Title</p>
            <ul>
                <li></li>

我正在考慮以下類似問題,但我不知道這是否是最佳做法:

WebElement um = driver.findElements(By.className("abc"));
WebElement dois = um.findElements(By.className("title"));
tamUl = dois.findElements(By.tagName("ul")).size(); 

如果您不願使用Xpath或CSS選擇器,則希望獲取頁面上存在的所有必需元素的列表。 然后,您可以選擇(根據經驗,通過調試或使用條件)要使用的特定元素的索引。 您可能要嘗試以下情況:

List <WebElement> elements = driver.findElements(By.className("title"));

if (elements.size() > 0) {
  elements.get(INDEX_OF_YOUR_ELEMENT).findElements(By.tagName("ul")).size();   
}

注意findElement()findElements()方法之間的區別。 如果發現多次出現,則findElement()僅返回第一個元素,而如果未找到任何內容,則一次拋出NoSuchElementException,而findElements()僅返回空列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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