【问题标题】:GeckoDriver is not entering value for Firstname field within Firefox browserGeckoDriver 未在 Firefox 浏览器中输入 Firstname 字段的值
【发布时间】:2019-02-07 16:52:47
【问题描述】:

Firefox 驱动程序没有为Firstname 字段输入值。 我正在尝试以下方法:

driver.findElement(By.xpath(//*[@id=\JNHGYHG\"]")).sendsKeys("Hello");

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你 "" 是错误的,只是看看你的 xpath 假设你有其余的权利试试这个: driver.findElement(By.xpath(//*[@id="\JNHGYHG\"] )).sendsKeys("你好");
  • 我试过了,但是不行
  • 能发个html吗?
  • 应该是sendKeys 。你有一个小错误。
  • 您当前提供的代码将无法构建。请修复它并更新问题。另外,当你可以使用 By.id("JNHGYHG") 时,为什么你只使用 XPath 作为 ID?

标签: selenium selenium-webdriver xpath css-selectors geckodriver


【解决方案1】:

试试这个,看看有什么不同。

driver.findElement(By.xpath("//*[@id='JNHGYHG']")).sendKeys("Hello");

【讨论】:

  • 你能在这里分享html吗?
  • 因为隐私,我不能分享 HTML。所以这就是为什么我问我可以用这种 ID 运行脚本吗?因为我收到一条错误消息 org.openqa.selenium.NoSuchElementException: Unable to locate element: #JNHGYHG
  • 正确你可以只分享部分html快照受影响的部分。来吧,你可以做的。
  • driver.findElement(By.id("JNHGYHG")).sendKeys("Hello");线程.sleep(2000);
  • 那不是 html。我问的是当您检查元素时提供该元素 html 部分。不是您编写的 java 代码。
【解决方案2】:

正如您在代码试用中提到的,您使用的Locator Strategy 中有一个错误。

解决方案

您可以使用以下任一解决方案:

  • 使用id属性:

    driver.findElement(By.id("JNHGYHG")).sendKeys("Hello");
    
  • 使用cssSelector

    driver.findElement(By.cssSelector("#JNHGYHG")).sendKeys("Hello");
    
  • 使用 xpath(选项 A):

    driver.findElement(By.xpath("//*[@id='JNHGYHG']")).sendKeys("Hello");
    
  • 使用 xpath(选项 B):

    driver.findElement(By.xpath("//*[@id=\"JNHGYHG\"]")).sendKeys("Hello");
    

【讨论】:

  • 我尝试了上述所有选项并收到此消息。 org.openqa.selenium.WebDriverException:无法将数据转换为对象
  • 每当我在 Firefox 中运行我的测试用例时,我都会弹出 cookie 我想删除它,我该怎么做?我们使用 cookie 来改善您的体验。为了遵守新的电子隐私指令,我们需要征得您的同意才能设置 cookie。了解更多。
猜你喜欢
  • 2021-08-26
  • 2020-06-04
  • 2019-03-13
  • 2017-02-08
  • 2021-02-25
  • 2015-09-18
  • 1970-01-01
  • 2016-01-04
相关资源
最近更新 更多