用于从具有相同类的网页获取下一个元素的vba代码

时间:2018-01-12 09:44:56

标签: vba selenium

Sub Class_Initialize()
Set driver = CreateObject("Selenium.FirefoxDriver")
driver.Get "https://www.99acres.com/3-bhk-bedroom-apartment-flat-for-sale-in-sunworld-vanalika-sector-107-noida-1405-sq-ft-spid-K34257367?pos=SEARCH&fsl=Y"
driver.Window.Maximize
Dim dd As Variant
dd = driver.findElementByClass("pdFactVal").Text
Range("A" & Rows.Count).End(xlUp).Offset(1) = dd

dd = driver.findElementByClass("pdFactVal").Item(2).Text
Range("B" & Rows.Count).End(xlUp).Offset(1) = dd
End Sub

您好, 我在selenium v​​ba中打开了一个页面,在这个页面中我有很多具有相同类名的元素,当我使用代码dd = driver.findElementByClass("pdFactVal").Text得到这个元素时,它返回给我页面中的第一个元素列A很好,但我希望列B中的元素编号为2,我在这里使用代码dd = driver.findElementByClass("pdFactVal").Item(2).Text我得到错误 - 运行时错误'438'对象不支持方法的这个属性。

1 个答案:

答案 0 :(得分:0)

您可以使用findElementsByClass。

代替findElementByclass
dd = driver.findElementsByClass("pdFactVal").Item(2).Text