修复不截图的问题:# 网页截图try print正在截图请稍等 sleep2 page_rect = browserexecute_cdp_cmdPagegetLayoutMetrics screenshot_config = quality 80 format png captureBeyondViewport True
网页截图
try: print('正在截图,请稍等...') sleep(2)
page_rect = browser.execute_cdp_cmd('Page.getLayoutMetrics', {})
screenshot_config = {
'quality': 80,
'format': 'png',
'captureBeyondViewport': True,
'clip': {
'width': page_rect['contentSize']['width'],
'height': page_rect['contentSize']['height'],
'x': 0,
'y': 0,
'scale': 1
}
}
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 info_item in keyword_info_list: if info_item['name'] == '百度': # 百度 cmd_code = 1 search_input = browser.find_element(By.ID, 'kw') search_input.clear() search_input.send_keys(keyword) search_input.send_keys(Keys.RETURN) elif info_item['name'] == '搜狗': # 搜狗 cmd_code = 2 search_input = browser.find_element(By.ID, 'query') search_input.clear() search_input.send_keys(keyword) search_input.send_keys(Keys.RETURN) elif info_item['name'] == '360': # 360 cmd_code = 3 search_input = browser.find_element(By.ID, 'q') search_input.clear() search_input.send_keys(keyword) search_input.send_keys(Keys.RETURN) elif info_item['name'] == '必应': # 必应 cmd_code = 4 search_input = browser.find_element(By.ID, 'sb_form_q') search_input.clear() search_input.send_keys(keyword) search_input.send_keys(Keys.RETURN)
sleep(cNum(3, 5))
for i in range(3):
if info_item['url'] in browser.current_url:
# 如果在当前搜索引擎页面
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 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))
continue
else:
continue
break
原文地址: https://www.cveoy.top/t/topic/byVR 著作权归作者所有。请勿转载和采集!