Python知識分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python selenium無界面headless
匿名網(wǎng)友發(fā)布于:2023-10-29 21:14:46
(侵權(quán)舉報)

2024 一天掌握python爬蟲【基礎(chǔ)篇】 涵蓋 requests、beautifulsoup、selenium

https://www.bilibili.com/video/BV1Ju4y1Y7k6/

 

Chrome-headless 模式, Google 針對 Chrome 瀏覽器 59版 新增加的一種模式,可以讓你不打開UI界面的情況下使用 Chrome 瀏覽器,所以運(yùn)行效果與 Chrome 保持完美一致,因此速度快與要打開界面的selenium,其使用方法和selenium一樣。 1.配置要求

1.系統(tǒng)要求:

Chrome
   Unix\Linux 系統(tǒng)需要 chrome >= 59
   Windows 系統(tǒng)需要 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')

# 點(diǎn)擊按鈕
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"]')

# 點(diǎn)擊下一頁
next_button.click()

time.sleep(2)

browser.execute_script(js_bottom)

browser.get_screenshot_as_file("下一頁截圖.png")

time.sleep(2)

# 返回到前一個歷史記錄 相當(dāng)于 瀏覽器的返回按鈕
browser.back()

time.sleep(2)

# 返回到后一個歷史記錄  相當(dāng)于 瀏覽器的前進(jìn)按鈕
browser.forward()

browser.execute_script(js_bottom)

time.sleep(2)

# 退出
browser.quit()

 

 

轉(zhuǎn)載自: