Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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
如何使用selenium JavascriptExecutor将文本发送到ID未知的隐藏文本字段中_Javascript_Selenium_Selenium Webdriver - Fatal编程技术网

如何使用selenium JavascriptExecutor将文本发送到ID未知的隐藏文本字段中

如何使用selenium JavascriptExecutor将文本发送到ID未知的隐藏文本字段中,javascript,selenium,selenium-webdriver,Javascript,Selenium,Selenium Webdriver,我正在处理一个搜索输入框图标,点击它打开输入框。因为图标是隐藏的,所以我使用JavaScriptExecutor单击它并打开搜索输入,如 WebElement searchBtn = driver.findElement(By.className("search-toggle")); JavascriptExecutor executor = (JavascriptExecutor) driver; executor.executeScript ("arguments[0].click();"

我正在处理一个搜索输入框图标,点击它打开输入框。因为图标是隐藏的,所以我使用JavaScriptExecutor单击它并打开搜索输入,如

WebElement searchBtn = driver.findElement(By.className("search-toggle"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript ("arguments[0].click();" , searchBtn);
但是现在,我需要在输入中输入一些文本,然后输入以提交它。解决方案是再次使用JavascriptExecutor,如

JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("document.getElementById(**'gbqfq'**).value = 'search text';");

这一次,元素ID“gbqfq”是未知的,对吗?如何解决此问题?

如果您没有id,请使用另一个选择器(如By.Class或By.Xpath)在selenium中查找元素,并使用SendKeys设置文本或等效的JavaScript方法,使用.querySelector查找元素,使用value属性设置文本。

请花点时间阅读:此如果不知道正在使用的呈现HTML,则无法回答此问题。为什么需要将文本发送到隐藏元素中?用户无法与隐藏元素交互。在站点上完成手动步骤以完成任务,然后自动完成手动操作。感谢回复。如果您看到我在顶部给出的示例代码,那么我需要遵循document.getElementById'gbqfq'。value='search text';,不是Selenium/Java的。@pranuta99这个答案确实符合您想要的语法,除非我遗漏了什么。。。jse.executeScriptdocument.querySelector.your>.css>.selector.value='search text';你是说身份证是未知的。所以你有三个选项1解析id。但是要解析id,你首先需要通过其他选择器找到按钮,如果是这样的话,你可以直接点击它。2通过一些独特的属性(如name)查找元素,但随后需要一个索引,因此这相当于lat选项;3通过xpath或css选择器查找元素。