网站爬取商品案例
换页代码执行发生报错
怎么解决。
最近刚学,刚跟着一些以前的老项目做的。
求帮下
部分代码
def get_shop_info():
lis = driver.find_elements_by_css_selector('.goods-list-v2 .gl-item')
for li in lis:
titlc = li.find_element_by_css_selector('.p-name em').text.replace('/n', '')
comment = li.find_element_by_css_selector('.p-commit a').text
name = li.find_element_by_css_selector('.p-shop a').get_attribute('title')
price = li.find_element_by_css_selector('.p-price i').text
herf = li.find_element_by_css_selector('.p-name a').get_attribute('href')
dit = {
'商品':titlc,
'评论':comment,
'店名':name,
'价格':price,
'链接':herf,
}
csv_writer.writerow(dit)
print(titlc,comment,name,price,herf)
for page in range(1,11):
print(f'============正在爬取第{page}页================')
driver.find_element_by_css_selector('.pn-next').click()
get_shop_info()
下面这个是报错显示
Traceback (most recent call last):
File "D:\pycharmxm\pythonProject\jindon.py", line 71, in
get_shop_info()
File "D:\pycharmxm\pythonProject\jindon.py", line 53, in get_shop_info
comment = li.find_element_by_css_selector('.p-commit a').text
File "D:\dm\lib\site-packages\selenium\webdriver\remote\webelement.py", line 76, in text
return self._execute(Command.GET_ELEMENT_TEXT)['value']
File "D:\dm\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "D:\dm\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "D:\dm\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
(Session info: chrome=107.0.5304.63)