linux 无界面运行python + webdriver + selenium

遇到的问题:

selenium运行测试用例需要打开浏览器,在阿里云centos系统中打开也不能被直观的看到。不如直接使用无界面运行,打印相关运行日志即可。

解决办法:

让用例在Linux环境无界面执行。

代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错
chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率
chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
class webd:
driver = None
@classmethod
def setUpClass(cls,browser):
if cls.driver == None:
cls.driver=webdriver.Chrome(chrome_options=chrome_options)
@classmethod
def tearDownClass(cls):
if cls.driver:
cls.driver.quit()
cls.driver = None

猜你喜欢

转载自www.cnblogs.com/timezhang/p/9640354.html