我正在尝试使用Selenium在Python中执行以下代码:
def create_browser(first_page=None):
print "Starting"
browser = webdriver.Chrome()
if first_page:
browser.get(first_page);
print "Done."
return browser
browser = create_browser()
当我执行此代码时,Chromium启动但是#34; Done"声明没有打印出来。但是,如果我将Chrome()
替换为Firefox()
,则浏览器会启动并且"完成"得到印刷。我试图在终端中验证这一点。如果我执行以下一系列陈述:
from selenium import webdriver
driver = webdriver.Chrome()
当我将Chrome()
替换为Firefox()
时,终端正常返回并显示>>
(在python shell中,但Chromium不会发生这种情况。任何人都可以告诉我们&#39}这里出错了。我非常感谢你的帮助。谢谢!
更新
我不确定这是否有帮助但是当我使用webdriver
执行时,会在包含我的代码的目录中生成一个名为chromedriver.log
的文件。它具有以下内容:
[0.000][INFO]: ChromeDriver 20.0.1133.0 /home/therookie/bin/chromedriver
[1.000][FINE]: Initializing session with capabilities {
"browserName": "chrome",
"chromeOptions": {
"args": [ ],
"extensions": [ ]
},
"javascriptEnabled": true,
"platform": "ANY",
"version": ""
}
[1.001][INFO]: Launching chrome: /usr/bin/google-chrome --disable-hang-monitor --disable-prompt-on-repost --dom-automation --full-memory-crash-report --no-default-browser-check --no-first-run --ignore-certificate-errors --homepage=about:blank
[11.796][SEVERE]: Failed to initialize connection
答案 0 :(得分:0)
Chrome需要一个名为chromedriver的特殊文件才能运行。看here看看是什么chromedriver
from selenium import webdriver
import os
chromedriver = "PATH_TO_CHROMEDRIVER"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(executable_path=chromedriver)
这应该启动Chrome并完成打印。