实现内容:
通过jenkins执行selenium代码,正常idea会使用全局的环境变量,但是jenkins只会使用当前工作目录下的环境变量。
1.所以首先在jenkins配置Python在linux中的环境变量:
2.Python代码如下:
# coding:utf-8
import time
import encodings
from selenium import webdriver
import sys
sys.path.append("/usr/bin/ptyhon3")
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = "/usr/bin/chromium-browser"
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('blink-settings=imagesEnabled=false')
chrome_options.add_argument('--remote-debugging-port=9222')
driver = webdriver.Chrome(chrome_options=chrome_options,executable_path='/usr/bin/chromedriver')
# driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
time.sleep(3)
title = driver.title
3.jenkins配置触发执行:
4.执行后报错如下:
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
5.解决方案:
加入一下两行对环境变量的配置,就可以执行成功了。
unset PYTHONHOME
unset PYTHONPATH
网友评论