这是我的代码:
选项显式
私有 CD 作为 Selenium.EdgeDriver
子条形图() obj.Start "边", "" obj.Get“https://www.barchart.com/stocks/performance/gap/gap-up?viewName=main&orderBy=gapUpPercent&orderDir=desc” obj.Window.最大化 obj.等2000
Dim ShadowHost As Selenium.WebElement
Set ShadowHost = obj.FindElementById("main-content-column")
'Debug.Print ShadowHost.Attribute("id")
' Execute JavaScript code to access the shadow root of the Shadow DOM element
Dim script As String
script = "return arguments[0].shadowRoot;"
Dim shadowRoot As Selenium.WebElement
Set shadowRoot = obj.ExecuteScript(script, ShadowHost)
Dim innerElement As Selenium.WebElement
Set innerElement = shadowRoot.FindElementByXPath("//*[@id='_grid']/set-class[1]/div[2]/a/text-binding").Value
MsgBox innerElement
结束子
我期望得到一个返回值,但我遇到了无法找到元素的问题。
你必须使用未被检测到的 chromedriver,这就是你所要做的一切