我可以通过java代码生成HTML页面的xpath吗
环境 我是新来的我可以通过java代码生成HTML页面的xpath吗,java,selenium,xpath,selenium-webdriver,Java,Selenium,Xpath,Selenium Webdriver,环境 我是新来的Selenium,所以我有些担心,请让我知道这一点--- 对于这个需求,我不想使用firebug或任何其他工具,因为我的环境在一段时间后会发生变化 在新环境中,这些项将是相同的,但新环境中的id或xpath将是不同的,但我的代码应该适用于任何环境 问题 那么,他们有没有办法在运行时通过java获得xpath 我能否通过java代码生成HTML页面的xpath 或者他们还有其他的方法吗 不,你不能。Java代码基于在html中找到的定位器(id、类、xpath等),代码本身无
Selenium
,所以我有些担心,请让我知道这一点---
- 对于这个需求,我不想使用
或任何其他工具,因为我的环境在一段时间后会发生变化firebug
- 在新环境中,这些项将是相同的,但新环境中的id或
将是不同的,但我的代码应该适用于任何环境xpath
- 那么,他们有没有办法在
运行时通过
获得java
xpath
- 我能否通过
代码生成java
页面的HTML
xpath
- 或者他们还有其他的方法吗
不,你不能。Java代码基于在html中找到的定位器(id、类、
xpath
等),代码本身无法完成这项工作
至于您的问题,Id不会随着环境的变化而变化,通常类也不会变化。尝试通过这些定位器定位元素,并尽量避免xpath,这样在任何环境下运行代码都不会有问题。有一种方法可以尝试 Selenium有8个定位器,通过它们可以找到元素 在这8个定位器中,有3个定位器如下:- 链接文本 选择包含与指定链接文本匹配的文本的链接(锚定标记)元素 部分链接文本 选择包含与指定部分链接文本匹配的文本的链接(锚定标记)元素 标签名称 使用标记名定位元素 现在,Selenium将根据您的文本或部分文本在DOM上查找元素 但这种方式并不十分稳健。 查看您是否能够在上述定位器的帮助下管理/定位所有必需的元素 注意:-确保您的文本至少不会进一步更改
也许对你有帮助:)你的问题不够清楚。请给出当前环境(以及相应的HTML)和“新环境”(以及相应的HTML)中的XPath示例。当然,您可以为给定的
元素
“生成”XPath,但是您首先如何定位元素
?如果按照不同的标准(如下面的答案中所述,例如链接文本,…)查找元素
,为什么仍然需要XPath?