繁体   English   中英

Selenium Webdriver中的Xpath创建

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

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