当前位置: 首页 > news >正文

Python selenium无界面headless

视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium

Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致,因此速度快与要打开界面的selenium,其使用方法和selenium一样。 1.配置要求

1.系统要求:

ChromeUnix\Linux 系统需要 chrome >= 59Windows 系统需要 chrome >= 60
Python3.6及以上
Selenium==3.4及以上
ChromeDriver==2.31及以上

2.配置代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable‐gpu')
# 自己的Chrome浏览器文件路径
path = r'C:\Users\java1234\AppData\Local\Google\Chrome\Application\chrome.exe'
chrome_options.binary_location = path
browser = webdriver.Chrome(options=chrome_options)

参考代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import timechrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable‐gpu')
# 自己的Chrome浏览器文件路径
path = r'C:\Users\java1234\AppData\Local\Google\Chrome\Application\chrome.exe'
chrome_options.binary_location = path
browser = webdriver.Chrome(options=chrome_options)url = "https://www.baidu.com"browser.get(url)time.sleep(2)browser.get_screenshot_as_file("百度首页.png")# 获取文本框的对象
input = browser.find_element(By.ID, "kw")# 在文本框中输入python
input.send_keys('python')time.sleep(2)# 获取百度一下的按钮
button = browser.find_element(By.ID, 'su')# 点击按钮
button.click()time.sleep(2)# 滑到底部
# js_bottom = 'window.scrollTo(0,document.body.scrollHeight)'
js_bottom = 'document.documentElement.scrollTop=10000'
js_top = 'document.documentElement.scrollTop=0'
browser.execute_script(js_bottom)time.sleep(2)browser.execute_script(js_top)time.sleep(2)browser.get_screenshot_as_file("第一页截图.png")# 获取下一页的按钮
next_button = browser.find_element(By.XPATH, '//a[@class="n"]')# 点击下一页
next_button.click()time.sleep(2)browser.execute_script(js_bottom)browser.get_screenshot_as_file("下一页截图.png")time.sleep(2)# 返回到前一个历史记录 相当于 浏览器的返回按钮
browser.back()time.sleep(2)# 返回到后一个历史记录  相当于 浏览器的前进按钮
browser.forward()browser.execute_script(js_bottom)time.sleep(2)# 退出
browser.quit()

http://www.lryc.cn/news/211462.html

相关文章:

  • JavaScript 中的负无穷大是什么?
  • 2023年十大地推和网推拉新app推广接单平台,一手单渠道
  • mybatis-plus的进阶使用
  • centos安装vim编辑器
  • PostgreSQL InvalidMessage Cache 同步机制
  • C#,数值计算——Globals的计算方法与源程序
  • 腾讯云香港服务器轻量24元一个月性能测试
  • 深度学习之基于YoloV8的行人跌倒目标检测系统
  • Seata入门系列【16】XA模式入门案例
  • 高级深入--day44
  • Apache Doris (四十八): Doris表结构变更-替换表
  • 消息认证码--数字签名--证书
  • 四个制作PPT的小技巧
  • Echarts饼状图grid设置
  • 系列三、Spring IOC
  • electron汇总
  • 电脑怎么共享屏幕?电脑屏幕共享软件分享!
  • 全新一代数字内容体验云平台
  • 目标检测理论知识
  • 聚观早报 |蔚来推出婚车服务;长城汽车第三季度财报
  • 垃圾收费站
  • ElasticSearch 统计搜索热词
  • el-table(vue2中)滚动条被固定列盖住
  • 两数之和(C++解法)
  • SCNet:自校正卷积网络(附代码)
  • 【PG】PostgreSQL客户端认证pg_hba.conf文件
  • 信创优选,国产开源。Solon v2.5.11 发布
  • 180.188.16.1网站高并发,导致网站卡了,有什么方案处理?
  • P1077 [NOIP2012 普及组] 摆花 题解
  • kubernetes源码阅读与实战(3)