繁体   English   中英

selenium webdriver -xpath生成

[英]selenium webdriver -xpath generation

我在selenium webdriver工作。我有几个文本框,其ID将一直在变化。

例如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')]

但运行时无法识别textarea。

请给我任何建议。 我也尝试过: //input[ends-with(@id,'wizNotification_ucChangeData_txtAddress1')]但没有运气:(

IE中的Xpath很慢,因为IE没有本机Xpath引擎。 您应该使用CSS Selector来获得更好的性能。 至于你的情况,你可以尝试下面的css选择器,它找到一个id以txtAddress1结尾的输入

E [foo $ =“bar”]一个E元素,其“foo”属性值与字符串“bar”完全结束

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

尝试:

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

小心,如果是textarea,它将不会被检测为输入。

对于具有动态ID的webelements,而不是使用Ids的Xpath,我们可以寻找其他方式来查找'by tagname',CSSlocator等元素。它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM