Firefox, запущенный Selenium, игнорирует экран, созданный pyvirtualdisplay.
Я начинаю показ сpyvirtualdisplay
перед созданием моегоWebDriver
пример. Если я использую Chrome, он работает без проблем: Chrome обнаруживается в экземпляре Xephyr, которыйpyvirtualdisplay
создает. Однако, когда я использую Firefox, появляется экземпляр Xephyr, но Firefox обнаруживается вне его.
Вот код, который полностью воспроизводит проблему:
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import FirefoxBinary
import pyvirtualdisplay
binary = FirefoxBinary()
with pyvirtualdisplay.Display(visible=True):
if True: # Set to False to use Chrome...
driver = webdriver.Firefox(None, binary)
else:
driver = webdriver.Chrome()
driver.get("http://www.google.com")
driver.quit()
Приведенный выше код является минимальной версией кода, который является более сложным (что объясняет, казалось бы, бесполезныйFirefoxBinary()
).