Перейти к содержимому

Фотография

Selenium не хочет работать с сохранённым профилем Firefox webdriver

python selenium

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 blablacon

blablacon

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 16 декабря 2014 - 14:33

Добрый вечер. У меня есть два скрипта, которые делают следующее:

- первый скрипт запускает браузер(Firefox), и перемещает его профиль с помощью shutil в нужный мне каталог, после этого делает quit либо close браузера

- второй скрипт запускает браузер с этим профилем, который был скопирован.

И как раз-таки проблема в том, что он не запускается. Если же пробовать просто «firefox -profile ./профиль --no-remote», то всё запускается, и виден вывод в stderr какого-то лога. Через selenium же - только ошибки.

Привожу лог:

>>> from selenium import webdriver
>>> pfdir = './firefox_prof'
>>> profile = webdriver.FirefoxProfile(profile_directory=pfdir)
>>> browser = webdriver.Firefox(profile)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
self.binary, timeout),
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 45, in __init__
self.profile.add_extension()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_profile.py", line 92, in add_extension
self._install_extension(extension)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_profile.py", line 281, in _install_extension
shutil.copytree(addon, addon_path, symlinks=True)
File "/usr/lib/python2.7/shutil.py", line 177, in copytree
os.makedirs(dst)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 17] Файл существует: '/tmp/tmp1HSlXL/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com'
>>> 

Вопрос: что я делаю не так? Всех нюансов работы с Selenium я пока что не знаю, так что прошу меня натолкнуть на истинный пусть. Всем заранее спасибо.


  • 0

#2 jeka_od

jeka_od

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Прокопенко Евгений Алексеевич

Отправлено 16 декабря 2014 - 16:40

Кастомный профиль Firefox можно выбирать в Selenium 

http://www.toolsqa.c...refox-profile/ в конце страницы пример показан.


  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 17 декабря 2014 - 09:16

Вопрос: что я делаю не так? Всех нюансов работы с Selenium я пока что не знаю, так что прошу меня натолкнуть на истинный пусть. Всем заранее спасибо.

 

При первом запуске Вы создаёте профиль, в который установлен плагин firefox.

При попытке использовать этот профиль повторно Selenium начинает устанавливать туда этот плагин снова -- и не может.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 blablacon

blablacon

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 17 декабря 2014 - 16:08

 

Вопрос: что я делаю не так? Всех нюансов работы с Selenium я пока что не знаю, так что прошу меня натолкнуть на истинный пусть. Всем заранее спасибо.

 

При первом запуске Вы создаёте профиль, в который установлен плагин firefox.

При попытке использовать этот профиль повторно Selenium начинает устанавливать туда этот плагин снова -- и не может.

 

Это я уже понял. Но когда я зашёл вручную удалить этот плагин, и попробовал запустить firefox с этим же профилем, то вывалилась такая же ошибка, о которой написано в первом посте.


  • 0

#5 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 22 декабря 2014 - 08:14

Укажите версии Селениума и FF что вы используете.

Зачем каждый раз запуска и копировать профиль? Сохраните профиль отдельно и копируйте уже скриптом сохранённый профиль.


  • 0

#6 blablacon

blablacon

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 22 декабря 2014 - 08:27

Укажите версии Селениума и FF что вы используете.

Зачем каждый раз запуска и копировать профиль? Сохраните профиль отдельно и копируйте уже скриптом сохранённый профиль.

 

Селениум последний, 2.44.0 вроде бы. Firefox - 24. Python - 2.7

Мне нужно много профилей с разными настройками. Моя программа, которая запускает браузеры и перемещает их профили, перед этим вносит некоторые изменения в профиль браузера.


  • 0



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных