我想写一个自动测试,以检查在网页中的拼写使用web服务的API和突出显示的词被检测为不正确的以下打印筛选文件作为错误报告证明。
搜索网页,我了解到突出显示一个单独单词的唯一方法是通过JavaScriptExecutor使用JavaScriptExecutor。
我发现了如何高亮显示包含不正确单词的web元素,但无法执行单独的单词高亮。
因此,在收集了一些信息之后,我做了下一步工作:
控制台返回:
Exception in thread "main" org.openqa.selenium.WebDriverException: Mark is not defined
我的问题:在本例中如何正确使用mark.js (或其他建议的插件)。
记者:由于我是新手,请给出详细的描述和完整的解释。
发布于 2016-08-16 09:53:51
document.querySelectorAll('body')而不是document.querySelector('body.context')结果工作代码
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("http://stackoverflow.com/questions/16251505/how-to-highlight-all-text-occurrences-in-a-html-page-with-javascript");
((JavascriptExecutor) driver)
.executeScript("var addscript=window.document.createElement('script');addscript.type='text/javascript';addscript.src='https://cdn.jsdelivr.net/mark.js/7.0.2/mark.min.js';document.getElementsByTagName('body')[0].appendChild(addscript);");
((JavascriptExecutor) driver)
.executeScript("return typeof(somefunc)").toString().equals("function");
String word = "text";
((JavascriptExecutor) driver)
.executeScript("var instance = new Mark(document.querySelectorAll('body'));instance.mark('"+ word +"', {'element': 'span','className': 'highlight'});");https://stackoverflow.com/questions/38958408
复制相似问题