Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript获取webdriver中的隐藏值_Javascript_Selenium_Selenium Webdriver - Fatal编程技术网

如何使用javascript获取webdriver中的隐藏值

如何使用javascript获取webdriver中的隐藏值,javascript,selenium,selenium-webdriver,Javascript,Selenium,Selenium Webdriver,有一个隐藏的输入字段,我试图在其中插入一个特定的日期值。该字段最初生成一个值,用户可以从中选择适当的值。 页面的源代码如下所示: 使用WebElement的getAttribute方法。在您的情况下,它将是: WebElement hiddenInput = driver.findElement(By.id("code")); String value = hiddenInput.getAttribute("value"); 如果出于任何原因,您需要使用javascript(您的问题是专门

有一个隐藏的输入字段,我试图在其中插入一个特定的日期值。该字段最初生成一个值,用户可以从中选择适当的值。 页面的源代码如下所示:




使用WebElement的
getAttribute
方法。在您的情况下,它将是:

WebElement hiddenInput = driver.findElement(By.id("code"));
String value = hiddenInput.getAttribute("value");
如果出于任何原因,您需要使用javascript(您的问题是专门针对js提出的),那么以下代码应该可以工作:

String script = "return document.getElementById('code').getAttribute('value');";
String value = ((JavascriptExecutor) driver).executeScript(script).toString();

我在C#中测试了这个解决方案,它是有效的。然后,我能够解析返回的字符串,以找到并验证我需要的内容


因此,在问题的示例中,您将获得可见父元素“change\u img”的innerHTML,其中将包括隐藏元素。

我认为您没有看到问题具体涉及隐藏元素。隐藏元素的第一个示例将抛出异常,而第二个示例(尽管它是完全合法的javascript)将返回null。如果我遗漏了什么,请告诉我。我通常会先运行代码来验证我的答案。很难记得我是不是像一年前那样在这件事上做的尽管如此,我相信这是正确的。我现在还没有在我的机器上安装Selenium,但我已经成功地在
div
display:none
样式以及
标记上执行了javascript。不过我可能错过了什么。您能提供一个示例页面和一个对标签的引用吗?javascript提供的标签返回null?哇!!一年多来,我们的测试工程师一直在寻找解决方案!这是一个很好的答案!他喝醉了!非常感谢。