document.querySelector('shop-app').shadowRoot.querySelector('shop-home').shadowRoot.querySelector('shop-button');
私はセレンを使用して、私の自動化テストで同じ要素にアクセスしようとした、 行1:WebElement shopBtn = (WebElement)((JavascriptExecutor)driver).executeScript("return document.querySelector('shop-app').shadowRoot.querySelector('shop-home').shadowRoot.querySelector('shop-button')");
ライン2:shopBtn.click();
このコードは、エラーを与える:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Cannot read property 'querySelector' of null
(Session info: chrome=51.0.2704.106)
(Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Mac OS X 10.11.3 x86_64).
この点に関するお手伝いがあります。
[Polymer's DOM api](https://www.pol ymer-project.org/1.0/docs/devguide/local-dom#dom-api) – Alan
ネイティブにサポートしているブラウザー(Chrome)で陰影DOM(デフォルト)またはシャドウDOMを使用していますか? –
私はChromeを基本的にShadow DOMとしてサポートしています.Polyfillsのため、Firefoxブラウザでは非常に簡単に動作しますが、Chromeでは動作しませんが、同じコードがChromeブラウザのJSコンソールでうまく動作します。 – user564769