【发布时间】:2016-02-13 17:04:10
【问题描述】:
我正在使用带有 selenium 的 python 在 Windows 上实现自动化。
我使用inspect element 来查找一个元素并对其进行一些操作。 它对我来说非常好。
a= self.driver.find_element_by_xpath('//*[@id="dia2"]/p')
我的同事采用了相同的方法,但得到了不同的 xpath。
a= self.driver.find_element_by_xpath('//*[@id="dia4"]/p')
他的代码在他的机器上不起作用。当他用 dia2 替换 dia4 时,他的代码有效。 任何想法,为什么我们从 2 台不同的机器获得不同的 xpath。我们都使用窗户,相同的网站,相同的元素。还有哪些其他因素决定 xpath。我会在两台机器上检查它们。
【问题讨论】:
-
你确定两个页面的所有 dom 都完全相同吗?或者有没有
geotargetting -
您是否尝试过同时运行测试?因为显然您正在访问不同的对象/或对象的 ID 已更改
-
是的,同时运行。元素只是一个字符串,不会动态变化。
-
@SIslam:如何检查 dom
-
@user3388005 我的意思是页面源代码!
标签: python google-chrome selenium xpath inspect-element