【问题标题】:java selenium - hidden input valuejava selenium - 隐藏的输入值
【发布时间】:2014-10-19 23:24:58
【问题描述】:

第一个 Stack 帖子,所以如果我弄错了,请不要苛责。

我正在使用 selenium 和 java 进行一些自动化测试。一切都很顺利,直到我尝试设置隐藏输入的值。

在 Firefox IDE 中使用 'type' 时,效果很好,但是当我使用下面的行时,它根本无法播放。它只是失败了。

// This line doesnt like to run because its hidden
selenium.type("name=startDate_submit", "2015-09-25");

谁能指出我正确的方向。

非常感谢。

编辑:

WebDriver driver = new ChromeDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("$([name=startDate_submit]).attr('type', 'text');");
Thread.sleep(3000);
// This line doesnt like to run because its hidden
selenium.type("name=startDate_submit", "2015-09-25");

我应该这样做吗?我就是无法让它工作。

【问题讨论】:

  • 修改了我的代码以使用建议的欺骗中的 sn-p 但无济于事。 ` ... selenium.select("name=days[1][endtime][hours]", "label=15"); WebDriver driver = new ChromeDriver(); JavascriptExecutor jse = (JavascriptExecutor)驱动程序; // 在这条线上崩溃。并且看起来它打开了一个新窗口,而不是当前窗口 jse.executeScript("document.getElementsByName('startDate_submit')[0].setAttribute('type', 'text');");线程.sleep(3000); // 这行不喜欢运行,因为它隐藏了 selenium.type("name=startDate_submit", "2015-09-25");`
  • 为可怕的格式道歉

标签: java selenium


【解决方案1】:

试试这个命令,

driver.findElement(By.xpath("path")).sendKeys("value");

但请确保您在提供输入值之前单击了该路径。如果还有问题,请回来。

【讨论】:

  • 但它在任何地方都没有驱动程序。我只有一个 defaultselenium 实例
【解决方案2】:

尝试使用可用的 JavaScript 逗号,例如 document.getElementById,然后设置值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 2013-04-25
    • 2013-08-18
    • 2013-11-17
    • 2020-06-30
    • 2021-06-29
    相关资源
    最近更新 更多