SeleniumChrome驱动程序-当窗口处于后台时,点击和滚动都不起作用



我正在Python 3上运行Selenium(v3.141.0(。我有一系列的元素点击和元素滚动,当浏览器(Chrome(窗口处于焦点时,它们可以完美地工作。然而,当Chrome窗口处于后台时,这些功能将完全停止工作。

我正在将Selenium挂接到一个手动打开的浏览器窗口,该窗口专门为调试而打开。我还尝试将--headless参数传递给驱动程序选项,但没有成功。

这是Selenium的固有限制吗?我是否需要在程序运行时保持窗口的焦点,或者在窗口处于后台并且我正在处理其他任务时,这是否可以成功实现?

使用此代码创建chrome驱动程序 这将在没有任何干扰的无头模式下运行此外,当脚本运行时,您不必保持窗口打开,因为此代码库将在后台运行,您可以在屏幕上做任何您想做的事情。

import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
class ChromeDriver_Class(webdriver.Chrome):
def __init__(self, chrome_driver_path, teardown=False):
self.driver_path = chrome_driver_path
self.options = Options()
self.options.headless = True
self.driver = webdriver.Chrome(executable_path=self.driver_path,options=self.options)

self.options.add_argument('--ignore-certificate-errors')
self.options.add_argument('--ignore-ssl-errors')
self.teardown = teardown
os.environ['PATH'] += self.driver_path
self.driver.implicitly_wait(30)
self.driver.maximize_window()

最新更新