WebDriver と一緒に Selenium をヘッドレスで実行できることは知っていますが、このサービスで実行する方法はありますか? 私は次のことを試していますが、Xvfbを無視しているように見えて、ブラウザを正常に開くだけです。それが問題になる場合、これはMac上にあります。
from pyvirtualdisplay import Display
import selenium.webdriver as webdriver;
import selenium.webdriver.chrome.service as service
# ...
self.display = Display(visible=0, size=(1024, 768))
self.display.start()
self.service = service.Service('/path/to/chromedriver');
self.service.start();
# Various Chrome option stuff clipped
browser = webdriver.Remote(self.service.service_url, desired_capabilities=options.to_capabilities());
参考までに-実際の解決策ではありませんが、当面はChromeのwindow-sizeフラグとwindow-positionフラグを使用して、セレンを邪魔にならないようにしています。
options = webdriver.ChromeOptions();
options.add_argument('--window-size=100,100')
options.add_argument('--window-position=100,1200')
browser = webdriver.Remote(service_url, desired_capabilities=options.to_capabilities())