無頭瀏覽器就是通過Selenium 不顯示屏幕操作web瀏覽器
Chrome實現方式:
在創建驅動器對象之前加上以下內容就可以
```python # ---------------------- 谷歌無頭瀏覽器 ----------------------------- import time from selenium import webdriver from selenium.webdriver.chrome.options import Options創建一個參數對象,用來控制chrome以無界面模式打開
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
<p>示例:</p>
```python
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 創建一個參數對象,用來控制chrome以無界面模式打開
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 創建瀏覽器對象
driver = webdriver.Chrome(chrome_options=chrome_options)
# driver = webdriver.Chrome()
driver.implicitly_wait(10) # 等待防止網絡不穩定引起的報錯
driver.get('https://pythonav.com/login/')
time.sleep(1)
# 輸入用戶名
driver.find_element_by_id('id_username').send_keys('你們不懂我')
time.sleep(1)
# 輸入密碼
driver.find_element_by_id('id_password').send_keys('但是我不怪你們')
time.sleep(1)
# 輸入驗證碼(只是演示)
driver.find_element_by_id('id_code').send_keys('呵呵!刀')
time.sleep(1)
# 點擊登錄
driver.find_element_by_xpath('//*[@id="fm"]/div[5]/div/input').click()
# 如果驗證碼不正確,會有提示信息。下面就是獲取提示信息,判斷如果有信息,說明輸入錯誤;如果沒有說明登錄成功。
msg = driver.find_element_by_xpath('//*[@id="fm"]/div[3]/div/div[1]/span').text
time.sleep(1)
if msg:
driver.save_screenshot('error.png')
else:
pass
time.sleep(5)
driver.quit()
