2017-04-12 116 views
0

HTML代碼元素在我的應用程序中的元素是:無法找到使用硒的webdriver

<select id="pt1:reg2:1:soc1::content" class="x2h" title="" theme="dark" name="pt1:reg2:1:soc1"> 

每次XPath是得到改變,但我無法找到的元素。

WebElement w1 = driver.findElement(By.xpath(".//select[starts-with(@id, 'pt1') AND contains(@id, ':soc1::content')]")); 
Select s = new Select(w1); 
s.selectByVisibleText("Commercial"); 
+1

使用編輯器上方的括號圖標將代碼與文本分開。 – Adder

回答

1

我測試的XPath與在線工具,如:http://www.xpathtester.com/xpath 此查詢工作就好了,我改變了和小寫。

.//select[starts-with(@id, 'pt1') and contains(@id, ':soc1::content')] 
+0

如果我的回答確實回答了你的問題,我會適當的,如果你檢查答案。這將有助於人們在未來迅速找到正確的答案。有關答案的更多信息,請訪問:https://meta.stackexchange.com/a/5235 – Thomas

0

寫的XPath雙引號「的XPath這裏」和 不要拿第一句號「」從xpath,它沒用。
它開始之前// //需要

好運

+0

如果有效,請檢查「接受答案」 –

0
".//select[starts-with(@id, 'pt1') AND contains(@id, ':soc1::content')]" 

這裏句號(。),XPath中被刪除。

0

下面的一個沒有「AND」,它也工作正常。

//select[starts-with(@id, 'pt1')][contains(@id,':soc1::content')]