selenium问题求助!!
from selenium import webdriverclass Douyu(object):
def __init__(self):
self.url = 'https://www.douyu.com/directory/all'
self.driver = webdriver.Chrome(executable_path='D:\chromedriver_win32\chromedriver.exe')
def run(self):
# url
# driver
# get
self.driver.get(self.url)
# parse
self.parse_data()
# save
# next_page
def parse_data(self):
room_list = self.driver.find_elements_by_xpath('//*[@id="listAll"]/section/div/ul/li/div')
# print(room_list)
# js = 'scrollTo(0,1000)'# 将滚动条向下滚动
# 遍历房间列表,从每一个房间结点获取数据
for room in room_list:
# title = room.find_element_by_class_name("DyListCover-userName").text
# self.driver.execute_script(js)# 执行JS代码
temp = {'title': room.find_element_by_xpath('./a/div/div/h3').text,
'type': room.find_element_by_xpath('./a/div/div/span').text,
'owner': room.find_element_by_xpath('./a/div/div/h2/div').text,
'number': room.find_element_by_xpath('./a/div/div/span').text}
print(temp)
if __name__ == '__main__':
douyu = Douyu()
douyu.run()
这段代码打印出来的temp会报错,请问应该怎么解决?? 好像是没设置等待时间,页面没加载完。加了等待时间加可以了。。。 鱼币{:10_278:} 你这头像不敢看啊 {:10_256:} {:10_256:} 回帖奖励? Lwq_Official 发表于 2020-10-25 16:22
好像是没设置等待时间,页面没加载完。加了等待时间加可以了。。。
是已经解决了吗?楼主 你这是你现在用的chrome浏览器和你所用的webdriver版本不匹配导致的,重新下一个就行 没用过 我有点没看懂 {:5_108:} 975050208@qq.co 发表于 2020-10-27 08:14
def parse_data(self):
room_list = self.driver.find_elements_by_xpath("//div[@class='layout-Module-container layout-Cover ListContent']")
for room in room_list:
roomlist=room.text.split('\n')
print(roomlist)
报错是由于find_elements_by_xpath后页面元素有变化。你根据之前获取的WebElement的ID去获取会找不到。你这个可以一次获取然后4个一组就能获取到了 {:10_266:}
页:
[1]