2011-09-14 124 views
3

我在硒webdriver.I有幾個文本框的ID將會改變所有的時間。selenium webdriver -xpath生成

e.g id=ctl00_SPWebPartManager1_g_ad39b78c_a97b_4431_aedb_c9e6270134c6_ctl00_wizNotification_ucChangeData_txtAddress1

但最後仍然相同始終。在上面的例子中wizNotification_ucChangeData_txtAddress1 我曾嘗試去使用XPath,如:

//input[contains(@id,'txtAddress1') 
//input[ends-with(@id,'txtAddress1')] 

,但在運行不能夠識別的文本區域。

請提出任何建議。 我試着以及同://input[ends-with(@id,'wizNotification_ucChangeData_txtAddress1')]但沒有運氣:(

回答

1

嘗試:

.//input[@id[contains(.,'txtAddress1' )]]

要小心,如果是一個textarea它不會被檢測爲輸入

3

Xpaths在IE中很慢,因爲IE沒有本地的Xpath引擎,你應該改用CSS Selector來獲得更好的性能。至於你的情況,你可以試試下面的css選擇器,用於查找id以txtAddress1結尾的輸入

E [FOO $ = 「酒吧」]的E元素 「foo」 的屬性值完全與字符串 「bar」

WebElement element = driver.findElement(By.cssSelector("input[id$='txtAddress1']")); 
0

在具有動態IDS webelements的情況下結束,而不是去爲Xpath的,有了Ids,我們可以通過其他方式尋找像'by tagname',CSSlocator這樣的元素,它爲我工作。