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

标签 javascript selenium selenium-webdriver

我正在处理一个搜索输入框图标,单击该图标可打开输入框。由于图标是隐藏的,我使用 JavaScriptExecutor 单击它并打开搜索输入,例如

WebElement searchBtn = driver.findElement(By.className("search-toggle"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript ("arguments[0].click();" , searchBtn);

但是现在,我需要在输入框中输入一些文本,然后按 ENTER 来提交。解决方案是再次使用JavascriptExecutor,例如

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

这一次,elementId 'gbqfq' 是未知的,对吗?我该如何解决这个问题?

最佳答案

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

关于javascript - 如何使用selenium JavascriptExecutor将文本发送到ID未知的隐藏文本字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45176455/

相关文章:

java - INFO : HTTP Status: '404' -> incorrect JSON status mapping for 'unknown error' with GeckoDriver, Firefox 和 Selenium 通过 Java

selenium - Java Selenium - 如何在基于 AngularJS 的页面中单击没有 ID 或 ng-class 的按钮

java - 我如何剪切用于 Selenium 测试的java堆栈跟踪?

javascript - 当我的 React 组件通过 AJAX 获取时显示加载旋转器/gif 的最佳方式?

java - 如何使用 JavaScript 将异步事件从 Java 服务器发送到网站?

javascript - 测试用 browserify 打包的模块?

java - WebDriver 和 ChromeDriver 无法解析为类型

javascript - Selenium IDE - 错误 : Permission denied for <http://www. example.com> 获取属性 Location.href

ruby - 如何在 Capybara/Selenium 中模拟修改键组合 (Alt-Shift-P)?

javascript - CSS 元素的颜色未正确更改