Я пытаюсь получить информацию от 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, но не может найти элемент.