[英]How to find a unique button that has no name or id?
我有一個網頁,其中包含多個容器,每個容器都有一個標題(fooHeading),名稱(fooName)和一個按鈕(fooButton)。
同一頁上會有多個容器,如下所示:
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ fooTitle fooButton /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
每個容器的html與以下內容相同:
<div class="fooHeading">
<span class="fooName">
fooTitle
</span>
<button class="fooButton"></button>
</div>
FooTitle是唯一會改變的東西。 如何根據fooTitle是唯一單擊fooButton?
我建議使用xpath:
WebElement button = driver.findElement(By.xpath("//span[contains(text(), 'fooTitle')]/../button"));
這將找到一個包含文本fooTitle
的span
。 ..
會div
,然后找到作為div
子級的button
。
我有時在硒中創建腳本時,在我的項目中也遇到了這樣的問題,所有傳統方法都會失敗,例如xpath,css選擇器等。
如果您遇到相同的情況,那么我的方法可能會幫助您,首先您必須從開始檢查按鈕標簽的總計數,然后找到按鈕計數的位置,例如其位置為pos。
List<WebElement> element = driver.findElements(By.tagName("button"));
Iterator<WebElement> itr = element.iterator();
int count=0;
WebElement e = null ;
while(itr.hasNext())
{
count++;
e = (WebElement) itr.next();
if(count==pos)
break;
}
//System.out.println(count);
//for checking total count without using break in while loop
e.click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.