2016-01-14 96 views
0

我目前在使用動態ID查找此元素時遇到了麻煩。以下是截圖。Selenium WebDriver Java查找具有動態ID的元素

enter image description here

enter image description here

我現在所擁有的是變量的元件(8)//a[contains(.,'Variables(8)')]。我需要的只是「變數」,因爲8號總是在變化。

對此有何看法?任何想法將不勝感激。謝謝

回答

2

第一要素所有'變量(8)'都不是Id,它的文本。 ID不是動態的,因爲它們表示Web元素的唯一標識符。這看起來就像這樣(根據你的例子):

<div class="field" id="fieldId"> 

至於你的問題,你可以找到的元素通過部分鏈接的文本:

driver.findElement(By.partialLinkText("Variables")); 

這會給你的a元素無米數字是什麼。

+0

感謝這個作品哥們! – user3713453

1

我從你的問題的理解是你想找到<a>標籤,其中包含文本「變量」。 嘗試使用此XPath:

//div[@class="field"]/a[contains(.,"Variables")] 

與類名=字段div標籤後,此XPath會找到<a>標籤,幷包含法<a>標籤會發現其中包含文本「變量」

1

你可以試試下面的:

driver.findElement(By.cssSelector( 「A:包含( '變量')」));

如果你想要的單詞 「變量」,使用如下:

字符串str = driver.findElement。(By.cssSelector( 「A:包含( '變量')」))的getText()分(「」)[0];

希望這有助於....

0

試試這個:

String varText = driver.findElement(By.cssSelector("div.triggerFirst>div:nth-child(1)>a")).getText(); 
相關問題