【问题标题】:How to write xpath for this field?如何为该字段编写 xpath?
【发布时间】:2021-11-05 09:06:12
【问题描述】:

enter image description here

driver.findElement(By.xpath("//input[@id='QuickSearchProduct']")).sendKeys("ddd");

我正在尝试获取此字段的 xpath,但无法在此处传递任何文本。我错过了什么?

【问题讨论】:

  • 请不要发布数据图片 - 在此处以文字形式发布 minimal reproducible example,不要强迫回复的人从屏幕截图中重新输入您的数据。
  • “无法传递文本”是否意味着您能够找到元素但无法输入文本?添加更多细节。添加例外
  • 如果你有stable id就不需要xpath
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: java selenium testing xpath


【解决方案1】:

如果IDHTML DOM 中是唯一的,请使用id 而不是xpath

Xpath 在 Selenium 中是最不受欢迎的选择,因为在不同的浏览器中没有原生支持。

driver.findElement(By.id("QuickSearchProduct")).sendKeys("ddd");

还设置了一些延迟,让 web 元素完全呈现,然后你可以与之交互。在这些情况下,显式等待会派上用场。

【讨论】:

  • 使用 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
【解决方案2】:

您可以直接使用id

driver.findElement(By.id("QuickSearchProduct").sendKeys("ddd");

Xpath

driver.findElement(By.xPath("//input[@id='QuickSearchProduct']").sendKeys("ddd");

【讨论】:

    猜你喜欢
    • 2020-08-20
    • 1970-01-01
    • 2023-03-14
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    相关资源
    最近更新 更多