我正在处理一个搜索输入框图标,单击该图标可打开输入框。由于图标是隐藏的,我使用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';");
这一次,elementId' gbqfq'不知道,对吧?我该如何解决这个问题?
答案 0 :(得分:1)
如果你没有id,那么使用另一个选择器如By.Class或By.Xpath来查找selenium中的元素,并使用SendKeys使用public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new AuthorizeAttribute());
}
}
来设置文本或等效的JavaScript方法找到元素并使用value属性来设置文本。