我正在处理一个搜索输入框图标,单击该图标可打开输入框。由于图标是隐藏的,我使用 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/