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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM