我尝试从Google获取一些商店/公司的电话号码等信息,并将其存储在Excel工作表中。我使用Chrome驱动程序( v_74.0.3729.6 )。 在普通模式下与Chrome配合使用时效果很好,它可以在XPath中找到元素,但是在无头模式中使用Chrome时,找不到元素。
我试图更改窗口的大小并添加一些选项:
.AddArgument ("--window-size=1920,1080")
.AddArgument ("--no-sandbox")
.AddArgument ("--start-maximized")
.AddArgument ("--disable-gpu")
.AddArgument ("--disable-extensions")
但没人能... 我也尝试过XPath的不同之处(但如果它在没有无头模式的情况下工作,我想XPath是正确的):
browser.FindElementsByXPath("(//span[@class='LrzXr zdqRlf kno-fv'])[1]")
browser.FindElementsByXPath("//*[@id='uid_6']/div[1]/div[2]/div[4]/div/div/span[2]")
我还尝试了等待时间(以确保页面已完全加载): Application.Wait(Now + TimeValue(“ 0:00:2”))
Dim browser As New ChromeDriver
With browser
.AddArgument ("--window-size=2160,3840")
.AddArgument ("--headless")
End With
denomination = "Fnac Lyon Bellecour"
adresse = "85 Rue de la République 69002 Lyon"
browser.Get ("https://www.google.com")
browser.FindElementByName("q").SendKeys (denomination & " " & adresse)
SendKeys "~"
Application.Wait (Now + TimeValue("0:00:2"))
If browser.FindElementsByXPath("(//span[@class='LrzXr zdqRlf kno-fv'])[1]").Count >= 1 Then
telephone = browser.FindElementByXPath("(//span[@class='LrzXr zdqRlf kno-fv'])[1]").Text
Sheets("Donnees").Cells(1, 13).Value = telephone
End If
它通常将商店的手机号码复制到单元格M1中,但找不到该元素。
答案 0 :(得分:0)
我已经使用require("devtools")
#devtools::install_github("UrbanInstitute/urbnmapr")
library(urbnmapr)
household_data <- left_join(countydata, counties, by = "county_fips")
household_data %>%
ggplot(aes(long, lat, group = group, fill = medhhincome)) +
geom_polygon(color = NA) +
coord_map(projection = "albers", lat0 = 39, lat1 = 45) +
labs(fill = "Median Household Income")
的chrome无头模式进行了验证,每次我运行此代码时,它都可以正常工作。
我使用了python selenium
,它是显式的waiting和waiting,等待元素可单击,然后获取文本值。
我相信您可以在WebdriverWait
中修改此代码。
VBA
+33 825 02 00 20