Python - Firefox без головы - программирование
Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 2

Начиная с версии 56, выпущенной 28 сентября 2017 года, режим безглавых Firefox доступен во всех трех основных операционных системах.

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

from selenium import webdriver

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

P.S. Если вы используете Selenium < 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()

Ответ 3

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

from selenium import webdriver
driver=webdriver.PhantomJS('your pahtomjs exe file locaiton')

Ответ 4

Достигнут прогресс в безголовом firefox.

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

tl; dr Firefox Nightly on Linux поддерживает запуск SlimerJS без проблем.
 Скоро появятся новые платформы и полный Firefox.

Ответ 5

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

Во-первых, сначала сделайте следующее:
Позаботьтесь, чтобы вы правильно установили путь пожарной лисы.

И затем:

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

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

светлячок

и если нет выхода, просто нажмите 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)