Encontrei um problema ao trabalhar com o Selenium. Para o meu projeto, eu tenho que usar o Chrome. No entanto, não consigo me conectar a esse navegador depois de iniciá-lo com o Selenium.
Por alguma razão, o Selenium não consegue encontrar o Chrome por si só. É o que acontece quando tento iniciar o Chrome sem incluir um caminho:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/selenium/downloads/list and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
Para resolver esse problema, incluí o caminho do Chromium no código que inicia o Chrome. No entanto, o intérprete falha ao encontrar um soquete ao qual se conectar:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
Eu também tentei resolver o problema iniciando o chrome com:
chromium --remote-shell-port = 9222
No entanto, isso também não funcionou.
PS. Aqui estão algumas informações sobre o meu sistema:
www-client: chromium 15.0.874.121 dev-lang: python 2.7.2-r3 Selenium 2.11.1 SO: GNU / Linux Gentoo Kernel 3.1.0-gentoo-r1