Java 从webelement到另一个webelement的相对xpath
所以我试图通过使用XPath从一个webelement到另一个webelement。 这就是webelement所在的路径,我使用“findElementsByClassName”找到它 这就是我要去的地方Java 从webelement到另一个webelement的相对xpath,java,selenium,xpath,Java,Selenium,Xpath,所以我试图通过使用XPath从一个webelement到另一个webelement。 这就是webelement所在的路径,我使用“findElementsByClassName”找到它 这就是我要去的地方 //*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[1]/span 我不能直接指向它,因为每个web元素的列和行都会改变 我尝试了几种不同的方法,如: .//.//.//.//div[1]/span
//*[@id="appView2"]/div/div[3]/div/table/tbody[3]/tr[2]/td[2]/div/div[1]/span
我不能直接指向它,因为每个web元素的列和行都会改变
我尝试了几种不同的方法,如:
.//.//.//.//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
请添加html源代码以便我们提供帮助?解决方案确实有效,因此谢谢!另外,当我四处搜索时,我可以使用“findElementsByClassName”来查找第一个元素,如下所示:unitDriver.findElementsByClassName(“日历时间信息”);是的,在html中使用类名、ID或文本,而不是使用带有索引的非常特定的xpath。通过这种方式,html可以随着时间的推移而改变,而不会破坏您的XPath。如果您可以控制html,那么最好将ID放在需要引用的所有内容上,同时避免XPath
.//.//.//.//div[1]/span