2013-03-07 3 views
0

Я использую питон ана селен, автоматизировать некоторый процесс, но не смогло прилагается селен по умолчанию хромового профиля я попытался с,селен хрома придает профиль по умолчанию

capability = webdriver.DesiredCapabilities.CHROME 
self.driver = webdriver.Remote('http://127.0.0.1:9515/wd/hib',capability) 

конечно, я начал, chromedriver первым, и также попытался с,

import time 
from selenium import webdriver 
import selenium.webdriver.chrome.service as service 
service = service.Service('./chromedriver') 
service.start() 
capabilities = {'chrome.binary': '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome'} 
driver = webdriver.Remote(service.service_url, capabilities) 
driver.get('http://www.google.com/xhtml'); 
time.sleep(5) # Let the user actually see something! 
driver.quit() 

это вызывает, selenium.common.exceptions.WebDriverException: Сообщение: не u'Could найти Chrome бинарник на:

, а также попытались с,

self.driver = webdriver.Chrome("./chromedriver") 

это работает, но не по умолчанию профиля, а также интересно знать, как открыть новое окно или новую вкладку с этим?

спасибо.

+0

Ну, хром-двоичный код находится в: '/ Приложения/Google \ Chrome.app/Contents/MacOS/Google \ Chrome'? Вот что вы говорите! – Arran

+0

спасибо за ваш ответ, в соответствии с этим https://code.google.com/p/selenium/wiki/ChromeDriver да, он есть. – user2136174

ответ

1

Не копируйте и не вставляйте что-то прямо с сайта! Загляните в эту папку самостоятельно, есть ли в ней что-нибудь? Я думаю, что нет. Вот почему, когда вы оставляете этот бит, он отлично работает, потому что он ищет Chrome, где он должен существовать!

В любом случае, более того, вы используете его неправильно!

Если вы хотите, чтобы Селен другой профиль, используемый для Chrome, то вам нужно использовать options класс:

https://code.google.com/p/selenium/source/browse/py/selenium/webdriver/chrome/options.py

Вы хотите функцию add_argument.

Почему?

Это потому, чтобы дать Chrome еще один профиль для использования, необходимо запустить Chrome с определенной командной строки (в частности --user-data-dir):

http://www.chromium.org/user-experience/user-data-directory

add_argument функция выставляет возможность добавлять ключи командной строки ,

Итак, если вы используете функцию add_argument, Selenium просто передаст все, что вы дадите, вплоть до Chrome, как часть его командной строки.

0

Чтобы узнать, где ваш профиль хром находится стартовый хром и тип

chrome://version 

в адресной строке. В разделе «Профильный путь:» вы увидите местоположение профиля, который вы сейчас используете. Например:

~:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default 
Смежные вопросы