Selenium executeScript没有返回List。以下代码尝试将某些内容写入电子邮件的主题字段,将其另存为草稿,然后通过搜索字段搜索草稿。
((JavascriptExecutor) driver).executeScript("document.getElementById('NewMessage').click();");
Thread.sleep(4000);
((JavascriptExecutor) driver).executeScript("document.getElementById('fSubject').value = \""+ test +"\" ;");
((JavascriptExecutor) driver).executeScript("document.getElementById('SaveDraft').click();");
Thread.sleep(2000);
((JavascriptExecutor) driver).executeScript("document.getElementById('c_clogot').click();");
((JavascriptExecutor) driver).executeScript(
"var f = new FocusEvent('focus');"
+ "var m = new MouseEvent('click');"
+ "var q = document.getElementsByName('query')[0];"
+ "var b = document.getElementsByClassName('c_search_go c_search_psb_go')[0];"
+ "q.dispatchEvent(f);"
+ "q.dispatchEvent(m);"
+ "q.value = \""+ test +"\" ;"
+ "b.dispatchEvent(m);");
Thread.sleep(2000);
以下javascript使用类' Fmd'获取所有元素,但JavaScriptExecutor未返回WebElements列表。
String scriptToExec = "return document.getElementsByClassName('FmD');";
List<WebElement> resultsList = (List<WebElement>) ((JavascriptExecutor) driver)
.executeScript(scriptToExec);