代码如下:
# -*- coding: utf-8 -*-
# python 3.6.1
# Chrome 72.x
# chromedriver 2.46 , 需要把 chromedriver.exe 放到 python.exe 同目录下
import os
import time
from selenium import webdriver
#from selenium.webdriver.common.keys import Keys
print('################ 测试开始 ################')
loginUrl = 'https://******:8443/login'
loginName = '1001'
loginPass = '1001'
options = webdriver.ChromeOptions()
options.add_argument('--headless') # 启用 无头模式
options.add_argument('--disable-gpu') # 禁用 显卡 GPU加速,官方建议禁用:https:#bugs.chromium.org/p/chromium/issues/detail?id=737678
# 无头模式下,最好设置具体大小,因为默认的最大化,最后截图后,是很小的,相当于残缺的
#options.add_argument('--start-maximized') # 启动时 最大化
options.add_argument('--no-sandbox') # 禁用沙盒
options.add_argument('--disable-plugins') # 禁用插件
options.add_argument('--disable-popup-blocking') # 禁用 拦截提示
options.add_argument('--ignore-certificate-errors') # 忽略证书错误报警提示
#options.add_argument('--test-type', '--ignore-certificate-errors') # 忽略证书错误报警提示 ,无效果!
#options.add_experimental_option('excludeSwitches',['ignore-certificate-errors']) # 忽略证书错误报警提示,无效果!
options.add_argument('--allow-running-insecure-content') # 禁用 不安全提示
options.add_argument('--disable-infobars') # 禁用提示“Chrome is being controlled by automatic test software”
driver = webdriver.Chrome(chrome_options=options) # Firefox() , Ie()
# 设置浏览器大小和位置
driver.set_window_position(50,50); # 窗口相对 屏幕的左上角(0,0) 的坐标
driver.set_window_size(1440,900); # 窗口 大小
print('---> 访问网址:'+loginUrl)
driver.get(loginUrl)
print('---> 输入账号')
driver.find_element_by_id('uId').send_keys(loginName)
print('---> 输入密码')
driver.find_element_by_id('uPass').send_keys(loginPass)
print('---> 点击登陆按钮')
driver.find_element_by_id('loginSubmit').click()
#driver.find_element_by_id('loginSubmit').send_keys(Keys.ENTER)
shotPath =os.getcwd()+ '/TestScreenshots/login_'+time.strftime('%Y%m%d%H%M%S',time.localtime())+'.png'
print('---> 截图登陆后的界面:',shotPath)
driver.get_screenshot_as_file( shotPath )
print('---> 关闭浏览器')
driver.close()
print('################ 测试结束 ################')
控制台输入类似如下: