所以我尝试使用 XPath 从一个 webelement 到另一个 webelement。 这就是 webelement 所在的路径,我通过使用“findElementsByClassName”找到它。
//*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[2]/div/div/div
这就是我需要到达的地方。
//*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[1]/span
我不能直接指向它,因为每个网络元素的列和行都会发生变化。
我尝试了几种不同的路径,例如:
.//.//.//.//div[1]/span
但它找不到该元素。
如果有人有更好的解决方案,那也是可行的。
谢谢!
最佳答案
您确实不应该依赖这样的索引(例如 div[3] 或 tbody[3])。它使您的实现变得脆弱,对 html 进行最轻微的更改就会中断。而不是
//*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[2]/div/div/div
你可以做类似的事情
//*[@id="appView2"]//table[@class='xxx']//div[text()='xxx']
回答你原来的问题,而不是
.//.//.//.//div[1]/span
它会是这样的
../../../../div[1]/span
关于java - 从 webelement 到另一个 webelement 的相对 xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883477/