Selenium在父影子根目录中获取第一个影子根元素

时间:2018-02-01 11:43:22

标签: selenium polymer shadow-dom

目前,我正在努力使我的渐进式网络应用程序使用selenium测试自动化。我所有的元素来自不同的影子室。 像

 //This function will return the element inside shadow root

 public WebElement GetShadowRoot(WebElement host) {
        WebElement shadowRoot = (WebElement) ((JavascriptExecutor) driver).executeScript("return arguments[0].shadowRoot", host);
        return shadowRoot;
    }

WebElement MainHost = driver.findElement(By.cssSelector("vrs-
app[page='refine']"));
WebElement shadow1 = GetShadowRoot(MainHost);
WebElement host2 = shadow1.findElement(By.cssSelector("vrs-refine"));
WebElement shadow2 = GetShadowRoot(host2);
System.out.println(shadow2);
WebElement host3 = shadow2.findElement(By.cssSelector("vrs-list-
 generator"));
WebElement shadow3 = GetShadowRoot(host3);
System.out.println(shadow3);
WebElement host4 = shadow3.findElement(By.cssSelector("vrs-single-property-tile:first-child"));
WebElement shadow4 = GetShadowRoot(host4);

使用此方法,我通过cssSelector获取HTML元素。

这里我遇到了CSS选择器问题vrs-single-property-tile:first-child"我有几个相同名称的影子根,只有id不同.And ID动态变化。 在这里,我想采取这个单独的瓷砖并打印属性标题和价格

这是我的临时网址,以便您可以了解相关信息  我的目标是访问此元素shadow3.findElements(By.cssSelector("#gtmTitle > h3")); 任何类型的帮助将不胜感激。

0 个答案:

没有答案