我目前在使用動態ID查找此元素時遇到了麻煩。以下是截圖。Selenium WebDriver Java查找具有動態ID的元素
我現在所擁有的是變量的元件(8)//a[contains(.,'Variables(8)')]。我需要的只是「變數」,因爲8號總是在變化。
對此有何看法?任何想法將不勝感激。謝謝
我目前在使用動態ID查找此元素時遇到了麻煩。以下是截圖。Selenium WebDriver Java查找具有動態ID的元素
我現在所擁有的是變量的元件(8)//a[contains(.,'Variables(8)')]。我需要的只是「變數」,因爲8號總是在變化。
對此有何看法?任何想法將不勝感激。謝謝
第一要素所有'變量(8)'都不是Id,它的文本。 ID不是動態的,因爲它們表示Web元素的唯一標識符。這看起來就像這樣(根據你的例子):
<div class="field" id="fieldId">
至於你的問題,你可以找到的元素通過部分鏈接的文本:
driver.findElement(By.partialLinkText("Variables"));
這會給你的a
元素無米數字是什麼。
我從你的問題的理解是你想找到<a>
標籤,其中包含文本「變量」。 嘗試使用此XPath:
//div[@class="field"]/a[contains(.,"Variables")]
與類名=字段div標籤後,此XPath會找到<a>
標籤,幷包含法<a>
標籤會發現其中包含文本「變量」
你可以試試下面的:
driver.findElement(By.cssSelector( 「A:包含( '變量')」));
如果你想要的單詞 「變量」,使用如下:
字符串str = driver.findElement。(By.cssSelector( 「A:包含( '變量')」))的getText()分(「」)[0];
希望這有助於....
試試這個:
String varText = driver.findElement(By.cssSelector("div.triggerFirst>div:nth-child(1)>a")).getText();
感謝這個作品哥們! – user3713453