我收到错误"对象不支持此属性或方法"
以下是我的编码,
Dim webs, web As Object
Set webs = driverg.findElementByCssSelector("*[class^='title-link id-track-click']")
**For Each web In webs**
Debug.Print web.Text
Next web
当程序在foreach中启动时,我收到此错误。
是否有其他方法循环Web元素,因为我已经尝试了很多,但我无法解决这个问题?
答案 0 :(得分:0)
您已将网络定义为变体
通过将它们放在同一行上,它不会默认为最后的声明
在各自独立的行上定义它们
Dim webs As Object
Dim web As Object
或者,如果那不是你想要的,而web是一个数组,那么使用
Dim webs As Object
Dim web As Variant
编辑 - 检查文档
根据文档 - 它只返回第一个元素 - 所以我不确定你为什么要做“为每个人”
类型:IWebElement符合条件的第一个IWebElement。
答案 1 :(得分:0)
我已经将findElementByCssSelector更改为findElementsByCssSelector,因为findElementByCssSelector只返回一个元素,因此每个元素都没有变形,但是当变为findElemenstByCssSelector时,开始工作。
我已经改变了以下行
driverg.findElementByCssSelector("*[class^='title-link id-track-click']")
到
driverg.findElementsByCssSelector("*[class^='title-link id-track-click']")