SeleniumBasicでShadowRootの要素を取得する【ExcelVBA】
shadow-root 内の要素を取得しシートにコピーする方法
ExecuteScriptを使用しReturnステートメントで返ってきたものを
WebElementで定義した変数にセットし、.Textや.AsTable.ToExcelで取得した
実際に使用したサンプルコード
Public Sub Sample()
'ShadowRootの部分をSeleniumのWeb要素として宣言
Dim ShadowRoot As Selenium.WebElement
'ChromeDriverを使用する準備
Dim driver As New Selenium.ChromeDriver
'サンプルのページに接続
driver.Get "https://vba.company/samplepage/5"
'Scriptを起動しShadowRootの部分をセット
Set ShadowRoot = driver.ExecuteScript("return document.querySelector('#post-494 > div > my-element').shadowRoot.querySelector('#shadowsample')")
ShadowRoot.AsTable.ToExcel Worksheets("sample").Range("A1")
End sub