优化一下代码使其适用于低版本或火狐的WebDriver:# 网页截图 try print正在截图请稍等 sleep2 page_rect = browserex
网页截图
try: print('正在截图,请稍等...') sleep(2)
# 获取页面大小
if browser.capabilities['browserName'] == 'firefox':
page_width = browser.execute_script('return document.body.scrollWidth')
page_height = browser.execute_script('return document.body.scrollHeight')
else:
page_rect = browser.execute_cdp_cmd('Page.getLayoutMetrics', {})
page_width = page_rect['contentSize']['width']
page_height = page_rect['contentSize']['height']
# 截图配置
screenshot_config = {
'quality': 80,
'format': 'png',
'clip': {
'width': page_width,
'height': page_height,
'x': 0,
'y': 0,
'scale': 1
}}
# 截图
if browser.capabilities['browserName'] == 'firefox':
result = browser.execute_script('return canvas.toDataURL("image/png");')
with open('{}/{}.png'.format(keyword_info_item['name'], keyword), 'wb') as f:
f.write(base64.b64decode(result.split(',')[1]))
else:
result = browser.execute_cdp_cmd('Page.captureScreenshot', screenshot_config)
with open('{}/{}.png'.format(keyword_info_item['name'], keyword), 'wb') as f:
f.write(base64.b64decode(result['data']))
print('截图成功')
print('===============================')
except Exception as e: print('截图失败') print(e) print('===============================')
翻页
while True: for i in range(10): if check_existence(cmd_dict[cmd_code]): if cmd_code == 1: # 百度 browser.execute_script('document.querySelector(".n").click()') if cmd_code == 2: # 搜狗 browser.find_element(By.ID, 'sogou_next').click() if cmd_code == 3: # 360 browser.execute_script('document.querySelector("#snext").click()') if cmd_code == 4: # 必应 browser.execute_script('document.querySelector(".sw_next").click()')
sleep(cNum(3, 5))
break
else:
if i == 9:
print('已到达最后一页')
print('===============================')
break
else:
continue
else:
continue
break
原文地址: https://www.cveoy.top/t/topic/byQc 著作权归作者所有。请勿转载和采集!