selenium 爬取谷歌地图,get url 时有时可以获取到有时拿不到,但是界面是可以打开

界面打开也可以看到页面内容,但是程序就是卡在get url 那里,这个需要怎么设置

 代码呢...

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver import ChromeOptions

import pyautogui

class Google_Map:

def __init__(self):

# self.driver = webdriver.Chrome(chrome_options=options)

self.driver = webdriver.Chrome()

self.wait = None

def main(self):

print("开始进入网页")

try:

self.driver.get('https://www.google.com/maps/search/cannabis+CBD,los+angeles+CA/')


print("开始获取网页原代码")

html_str = self.driver.page_source

print("成功获取到网页源代码")

try:

if "显示的结果" in html_str:

print(222)

m = int(self.driver.find_element_by_class_name('n7lv7yjyC35__left').text.replace('显示的结果:1 - ',''))

for i in range(m):

print(555)

h_js = "var q=document.getElementByClassName('section-result')[{}].click()".format(i)

print(h_js)

# self.driver.execute('h_js')

except Exception as p:

print(p)

print("我犯错了")

self.driver.refresh()

self.main()

except Exception as p:

print(p)





if __name__ == '__main__':

# options = ChromeOptions()

# options.add_argument('--headless')

google_map = Google_Map()

google_map.main()

self.driver.get('https://www.google.com/maps/search/cannabis+CBD,los+angeles+CA/')
 你这个网址是不是有问题...
 改成下面这个试试...
https://www.google.com/maps

这个是我要爬取的网页,所以必须这样写,这个是我拼接的url,我还要爬取很多

 你是不是webdriver的驱动版本不对?

版本我特意换了一样的,但是还是不行,就是时不时的driver就是get不到,但是界面正常显示画面

楼主的JS代码有个错误 少了s 应该是document.getElementsByClassName("section-result")

qq2020475790看一下

那里问题不大,主要是我获取不到数据


哎 可能是因为需要翻出去 我这里页面 都打不开。。