Ответ 1
xvfb - общий способ сделать это. Поиск "selenium xvfb" должен найти лоты, например:
Последние несколько дней я провел с Selenium, Tor и Firefox в сочетании с несколькими задачами. Мне удалось написать простой script в Python, который управляет Firefox через Selenium, а Firefox связан с Tor для конфиденциальности.
Теперь я ищу способ сохранить ресурсы, поэтому я подумал о запуске Firefox в режиме безголового, который, как я думал, является общей функцией, но похоже, что это не так. Я ищу способ сделать именно это. Причиной этого является Firefox, а не какой-то браузер на основе терминалов, из-за расширения "TorButton", которое я использую в Firefox. В него встроены javascript-инъекции, которые помогают в уединении.
Если кто-то сделал это раньше (что, я уверен, многие имеют!), некоторые советы будут очень признательны, спасибо!
xvfb - общий способ сделать это. Поиск "selenium xvfb" должен найти лоты, например:
Вы можете установить режим безголоса через 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()
Или, наоборот, используйте настоящий браузер без браузера, например Phantomjs, который легко взвешен и хорошо интегрирован с селеном
from selenium import webdriver
driver=webdriver.PhantomJS('your pahtomjs exe file locaiton')
Достигнут прогресс в безголовом firefox.
С 21 апреля 2017 года https://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/
tl; dr Firefox Nightly on Linux поддерживает запуск SlimerJS без проблем.
Скоро появятся новые платформы и полный Firefox.
если, наконец, найти ответ:
Во-первых, сначала сделайте следующее:
Позаботьтесь, чтобы вы правильно установили путь пожарной лисы.
И затем:
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)