[英]Xpath Creation in Selenium Webdriver
我有一个元素Xpath
//img[@onclick="EditResource(this,'10','0');"]
我需要在循环中使用此变量,其中我将用变量i替换10。
driver.findElement(By.xpath("//img[@onclick='EditResource(this,'" + i +"','0');']"))
但这给出了错误双引号中没有像EditResource这样的元素。
您不应使用onclick
事件中的所有细节(例如函数的参数),因为这些细节可能会更改,从而导致xpath
失败。 您可以在xpath
内使用contains()
方法,这样,即使参数(由于任何原因)改变了,仍然可以找到您的元素:
.//img[contains(@onclick, 'EditResource')]
您可以像这样从定位器中轻松逃脱“:
driver.findElement(By.xpath("//img[@onclick=\"EditResource(this,'" + i +"','0');\"]"))
简单易看,这是...
String str1 = "EditResource(this,'"; String str2 = "','0')']"; driver.findElement(By.xpath(str1+i+str2));
而且,您也可以在一行中完成
driver.findElement(By.xpath("//img[@onclick=\\"EditResource(this,'" + i +"','0');\\"]"));
\\"
在运行xpath时给您'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.