【问题标题】:Regular expression for xpath in selenium java codeselenium java代码中xpath的正则表达式
【发布时间】:2017-05-21 01:27:53
【问题描述】:

用于正则表达式的 Selenium java 代码。

Xpath = "//*[@id='gritter-item-6']/div[2]/div[2]/p"

在上面的 xpath 6 是变化的,任何人帮助我如何解决这个问题

请给我解决办法。

【问题讨论】:

  • 您能粘贴一些包含您要匹配的元素的 html 吗?

标签: selenium selenium-webdriver selenium-rc


【解决方案1】:

尝试使用下面我们使用contains关键字的xpath。

//*[contains(@id, 'gritter-item-')]

【讨论】:

  • 我会非常小心这种方法,因为它可以轻松匹配具有相同格式的任何其他 ID。假设这是一个自动生成的 ID,我会说这是真的可能性非常好。
【解决方案2】:

为了更准确,您可以使用starts-with() 而不是contains(),因为您的 ID 以特定字符串开头。

您可以使用://*[starts-with(@id, 'gritter-item-')]

【讨论】:

  • 请注意,starts-withends-with 等函数是特定于 XPath 2.0 的。例如,如果您使用的是 Selenium 的 Firefox WebDriver,则不受支持。
【解决方案3】:

我和你有同样的问题,帮助我的是安装 Selenium IDE 并提取“Xpath Position”只要按钮不改变页面上的位置,位置就不是动态的。希望对你有帮助。Screenshot

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2015-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多