如何生成动态Xpath? I)在我的项目中,所有模块的元素模式和位置都是相同的,只是id根据模块名称而改变
II)像我这样的项目中的Id模式
模块-1
driver.findElement(By.xpath("//form[@id='locationForm']/div[2]/fieldset/table/tbody/tr[3]/td[2]/input"));
模块-2
driver.findElement(By.xpath("//form[@id='courtTypeBean']/div[2]/fieldset/table/tbody/tr[3]/td[2]/input"));
II)在这种情况下,我们可以制作一些标准或模式,我们可以在所有模块中使用这些标准或模式作为通用,并且只传递id我们可以识别特定元素吗?
如果我想找到Module-1元素,那么我只需传递 - > locationForm的id,而不是整行
driver.findElement(By.xpath("//form[@id='locationForm']/div[2]/fieldset/table/tbody/tr[3]/td[2]/input"));
答案 0 :(得分:0)
xpath语句是一个字符串,你可以像这样连接字符串:
String passedId = "locationForm";
driver.findElement(By.xpath("//form[@id='" + passedId +"']/div[2]/fieldset/table/tbody/tr[3]/td[2]/input"));
如果这不是您要求的,请告诉我。感谢。