Python selenium无界面headless

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

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

1.系统要求:

Chrome
   Unix\Linux 系统需要 chrome >= 59
   Windows 系统需要 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 time

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)

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()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值