Selenium VBA 中的 GetAttribute 样式

GetAttribute in Selenium VBA for style

我正在 VBA 中使用 selenium,我已经存储了一个变量"post" 来存储所有出现的特定元素,例如

Dim post As Object

Set post = .FindElementsByCss("#DetailSection1")
Dim i As Long
For i = 1 To post.Count
    Debug.Print post.Item(i).getAttribute("style")
Next i

我需要从元素中提取样式值

<div id="DetailSection1" style="z-index:3;clip:rect(0px,746px,32px,0px);top:228px;left:0px;width:746px;height:32px;">
</div>

我还需要立即打印 window innerHTML,当我使用 getAttribute("innerHTML") 时,它对我不起作用 任何想法

getAttribute("style") 应该工作,但你必须诱导一个服务员让元素在 HTML DOM.

中成为 present/visible
Debug.Print post.Item(i).getAttribute("style")

准确地说,要从元素中提取样式属性的值,您可以使用 getCssValue() 方法,如下所示:

Debug.Print post.Item(i).getCssValue("z-index")
Debug.Print post.Item(i).getCssValue("top")
Debug.Print post.Item(i).getCssValue("left")
Debug.Print post.Item(i).getCssValue("width")
Debug.Print post.Item(i).getCssValue("height")

getAttribute("innerHTML")

get_attribute("innerHTML") 可用于读取任何节点内的 innerHTML 或 text /

You can find a detailed discussion in Difference between text and innerHTML using Selenium


参考资料

您可以在以下位置找到一些相关讨论:

  • How can I verify text is bold using selenium on an angular website with C#