我正在使用 Selenium Web 驅動程式來測驗一個按鈕,這個按鈕可以有這樣的文本
<button>Foo</button>
或者它可以看起來像這樣,帶有任何型別或深度的嵌套標簽。
<button><span>Foo</span></button>
我試著做
Driver.findElement(By.xpath("//*[text()='Foo']"));
但這只會獲得直接標記級別的文本。我在 xpath 中添加了一個“//*”,它適用于嵌套元素,但在文本處于直接級別時停止作業。我正在尋找一種 OR 條件或可以讓它在兩種變體上都起作用的東西。
我正在使用 Java 和 selenium 網路驅動程式。
提前致謝,
胡安
uj5u.com熱心網友回復:
嘗試這個:
driver.findElement(By.xpath("//button[contains(.,'Foo')]"));
這將搜索button包含Foo文本內容的元素本身或任何它的子元素,這正是您所要求的。
順便說一句,在 Java 中,我們通常給物件名稱以非大寫字母開頭,所以它應該是driver,而不是Driver。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505200.html
上一篇:如何將生成的代碼包和用戶代碼分開,但可以從代碼中的一個位置訪問它們
下一篇:如何使用宏設定列格式
