无头浏览器就是通过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()