[英]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.