【发布时间】:2021-12-07 17:02:29
【问题描述】:
我正在尝试获取 class="woocommerce-Price-amount 金额和其中的文字 20.00
我尝试了各种方法,例如 findelementbyclass 不支持,因为它是一个化合物。
我目前正在尝试让它与 findelementbycss 一起使用,但我收到了 no such element 错误。
<div class="summary entry-summary">
<div class="summary-container"><h2 itemprop="name" class="product_title entry-title">2″x 2″ Alumi-guard fence END post for 4′ tall fence</h2>
<p class="price"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>20.00</bdi></span></p>
<div class="avada-availability">
</div>
<div class="product-border fusion-separator sep-none"></div>
Private driver As Selenium.ChromeDriver
Sub test2()
Dim name As String
name = "test"
Set driver = New Selenium.ChromeDriver
Dim By As New By, variableName As WebElement
driver.Start "chrome"
driver.Get "https://www.kandmfence.net/product/2x-2-alumi-guard-fence-end-post-for-4-tall-fence/"
variableName = driver.FindElementByCss(".woocommerce-Price-amount .amount")
Sheet1.Cells.Value = variableName.Text
End Sub
【问题讨论】:
-
需要去掉空格
.FindElementByCss(".woocommerce-Price-amount.amount") -
它仍然会说“object var or with block var not set”
-
您忘记使用
SET variableName =driver.FindElementByCss(".woocommerce-Price-amount.amount") -
它现在在下一行出错-Sheet1.Cells.Value = variableName.Text 它说“应用程序定义或对象定义错误”
-
知道了。对于任何未来的新手:Sheet1.Cells(1, 1).Value = variableName.Text。非常感谢您的帮助。
标签: excel vba web-scraping selenium-chromedriver