簡體   English   中英

單擊硒中li中存在的span元素

[英]Clicking on span element existing in li in selenium

我一直在硒中嘗試單擊具有名為bullet的類的span元素。 這是一個樹形結構,單擊后即可展開它的子級。 我已經嘗試過以下方式,但無法正常工作。 下面是UI代碼

<ul id="treelist" class="ltree">
<li class="liClosed">
<span class="bullet"> </span>
<b>Setup</b>
<ul>
 <li></li>
 <li></li>............
 .....................
</ul>
</li>
</ul>

錯誤是:給定的選擇器// * ul [@ id ='treelist'] // li [2] // span無效或沒有導致WebElement

我使用的代碼是:

WebDriver driver = new FirefoxDriver();
 driver.get("http://somewebapp");    
  WebElement userElement = driver.findElement(By.xpath("//*ul[@id='treelist']//li[2]//span"));

我嘗試了多種編輯xpath的方法,但沒有成功。 有人可以幫忙解決這個問題嗎?

XPath表達式確實無效,請在ul之前刪除*

//ul[@id='treelist']//li[2]//span

這是找到所需的span標簽的另一種選擇:

//ul[@id='treelist']//span[@class='bullet']

或者,使用CSS選擇器

driver.findElement(By.cssSelector("ul#treelist span.bullet"));

如果您不依賴XPath,可以嘗試使用簡單的CSS選擇器。

WebElement userElement = driver.findElement(By.cssSelector("span.bullet"));

看起來您需要處理框架內部存在的元素。 您可以在Google上找到許多有關如何執行此操作的示例,但這是SO的示例。

使用Java和Selenium WebDriver在表單和iframe中查找元素

您的span.bullet is not第二個li ,而是在第一個li內。 嘗試

//ul[@id='treelist']//li[1]//span

暫無
暫無

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

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