高亮顯示頁面元素主要用到Selenium中使用js的知識點,最常用的是檢查元素定位是否正確。此外,實現js的調用大大增強了Selenium的功能。以下是調試通過的案例:
import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class js { public static void main(String[] args){ WebDriver driver = new ChromeDriver(); driver.get("http://www.baidu.com"); String js="var q=document.getElementById(\"kw\");q.style.border=\"1px solid red\";";//對象顯示紅色邊框 ((JavascriptExecutor)driver).executeScript(js); } }
運行結果是百度搜索欄顯示紅色邊框,如下圖示:
以下是同事封裝的一份方法,可以直接調用。分享一下:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.JavascriptExecutor; /** * 高亮顯示頁面元素 * @param diver 瀏覽器驅動 * @param element 高亮顯示對象元素 */ public static void highlight(WebDriver diver, WebElement element) { JavascriptExecutor js = (JavascriptExecutor) diver; js.executeScript("element = arguments[0];" + "original_style = element.getAttribute('style');" + "element.setAttribute('style', original_style + \";" + "background: yellow; border: 2px solid red;\");" + "setTimeout(function(){element.setAttribute('style', original_style);}, 1000);", element); }