Python - Firefox без головы

Последние несколько дней я возился с Selenium, Tor и Firefox как комбинация для нескольких задач. Мне удалось написать простой скрипт на Python, который берет на себя управление Firefox через Selenium, в то время как Firefox подключен к Tor для конфиденциальности.

Сейчас я ищу способ сэкономить ресурсы, поэтому я подумал о запуске Firefox в режиме без головы, что, как мне показалось, было обычной особенностью, но, похоже, это не так. Я ищу способ сделать это. Причиной этого является Firefox, а не какой-то браузер на основе терминала, из-за расширения "TorButton" который я использую в Firefox. В него встроены javascript-инъекции, которые помогают в приватности.

Если бы кто-то делал это раньше (что, я уверен, многие сделали!), Некоторые советы были бы очень благодарны, спасибо!

Ответы на вопрос(5)

Есть прогресс, достигнутый на безголовом firefox.

С 21 апреля 2017 годаhttps://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/

tl;dr Firefox Nightly on Linux supports running SlimerJS headlessly.
More platforms and full headless Firefox are coming soon.

если наконец найду ответ:

Сначала сделайте следующее:
Позаботьтесь о том, чтобы вы правильно подожгли дорогу для движения лисы

А потом:

sudo apt-add-repository ppa:mozillateam/firefox-next
sudo apt-get update
sudo apt-get install firefox xvfb
Xvfb :10 -ac &
export DISPLAY=:10

И в конце запустите эту команду, чтобы увидеть, есть ли у нас какие-либо ошибки в нашей реализации not.

firefox

и если нет никакого выхода просто нажмитеctrl+c.
Хорошо, после этого напишите эти коды.

from selenium import webdriver

class FireFoxLoadTest:
    def __init__(self):
        # 1 - Load a fire fox web driver
        self.driver = webdriver.Firefox()

    def do_test(self, url):
        # 2 - Start to check url on the fire fox browser
        result = self.driver.get(url)
        self.driver.quit()
        return self.result

fire_fox = FireFoxLoadTest()
res = fire_fox.do_test('http://www.google.com')
print(res)
Since version 56 release at September 28, 2017, Firefox headless mode is available in all three main operating system.

Вы можете установить безголовый режим черезwebdriver.FirefoxOptions()так же, как вы сделали с Chrome:

from selenium import webdriver

options = webdriver.FirefoxOptions()
options.add_argument('headless')
driver = webdriver.Firefox(options=options)

Постскриптум Если вы используете Selenium & lt; 3.8.0, вы должны заменитьwebdriver.FirefoxOptions() сwebdriver.firefox.options.Options() (см. PR#5120).

Кроме того, используйте переменную окруженияMOZ_HEADLESS будет делать то же самое:

import os
from selenium import webdriver

os.environ['MOZ_HEADLESS'] = '1'  # <- this line
driver = webdriver.Firefox()

Или в качестве альтернативы используйте настоящий безголовый браузер, напримерPhantomjs легковесный и хорошо интегрированный с селеном

from selenium import webdriver
driver=webdriver.PhantomJS('your pahtomjs exe file locaiton')
 27 окт. 2015 г., 08:57
название вопроса гласит:firefox
Решение Вопроса

xvfb - распространенный способ сделать это. В поисках & quot; селена xvfb & quot; должны найти лоты, такие как:

Is it possible to run Selenium scripts without having an X server running, too? How do I run Selenium in Xvfb? http://www.alittlemadness.com/2008/03/05/running-selenium-headless/
 09 апр. 2012 г., 05:38
@ Dboy1612 не похоже на это, это довольно необычная вещь,stackoverflow.com/questions/944086/…
 25 нояб. 2017 г., 04:18
@Dustin Начиная с версии 56, выпущенной 28 сентября 2017 года, безголовый режим Firefox доступен во всех трех основных операционных системах. Теперь вы можете сделать это с селеном очень легко, проверьте мой ответ ниже.
 Dustin08 апр. 2012 г., 23:22
Ах, это замечательно! Хотя есть ли его версия для Windows или какой-то метод, который будет работать и на Windows?

Ваш ответ на вопрос