Java可以通過獲取CSS路徑來實現Web自動化測試的定位和操作,下面是獲取CSS路徑的方法:
WebDriver driver = new ChromeDriver(); //啟動谷歌瀏覽器 driver.get("http://www.example.com"); //訪問網站 WebElement element = driver.findElement(By.xpath("...")); //定位元素 String css_path = getCssSelector(element); //獲取CSS路徑
其中,getCssSelector()方法可以自定義實現,下面是一個例子:
public static String getCssSelector(WebElement element) { Listpath = new ArrayList (); while (element != null) { String tagName = element.getTagName(); if (tagName.equals("html")) { path.add(tagName); break; } int index = 0; WebElement sibling = element; while (sibling != null) { if (sibling.equals(element)) break; if (sibling.getTagName().equals(tagName)) index++; } String css = tagName + ":nth-of-type(" + (index+1) + ")"; path.add(css); element = element.findElement(By.xpath("..")); } Collections.reverse(path); return String.join(" >", path); }
上面的代碼中,通過不斷向上遍歷元素樹,獲取每個元素在其父元素中的位置作為索引,然后生成對應的CSS選擇器,最后倒序拼接路徑并返回。
上一篇java注冊界面css
下一篇jq css index