在Jenkins用chromedriver运行Selenium

时间:2017-11-17 07:31:15

标签: python selenium jenkins selenium-chromedriver

我试图在Jenkins(CI)中使用Selenium和chromedriver运行基本脚本。

基本上我已经完成了运行脚本应该采取的所有步骤,但我仍然遇到如下错误:

  

WebDriverException:消息:服务chromedriver意外退出。状态代码为:127

  

'铬'可执行文件需要在PATH中。

我已经在Jenkins中安装了Chrome驱动程序插件(基本上我已经安装了任何可以相关的插件),但我仍然无法运行该脚本。

脚本是:

import os
import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys

def chat():

# setting Chrome headless webdriver
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=1920x1080")
chrome_driver = os.getcwd() + "/chromedriver"
driver = webdriver.Chrome(chrome_options=chrome_options, 
executable_path=chrome_driver)


# set url's
website_url = "<some url>"

# verify the website and BO are live
web = requests.get(website_url)
if web.status_code != 200:
    raise Exception("Error in URL's")
else:
    driver.get(website_url)
    driver.find_element_by_id("some_id").click()
    driver.quit()

代码只是为了展示我如何称呼chromedriver

我做错了什么?我错过了一套运行这种脚本的设置吗?

1 个答案:

答案 0 :(得分:0)

错误 'chrome' executable needs to be in PATH 说明了一切。

可能的原因是:

  • Google Chrome未安装在默认位置。
  • 实际Chrome Browser Binary路径与Environmental Variables
  • 中设置的匹配不匹配

解决方案:

  • 确保实际的Chrome Browser Binary路径与Environmental Variables
  • 中的设置匹配
  • 完全通过Chrome Browser卸载 Revo Uninstaller ,并确保删除与Registry Entries相关的Chrome
  • 安装 Chrome Browser
  • 执行Test