大家好,我正在使用没有 gui 的 raspberry pi,我正在尝试在无头模式下使用 Selenium chromedriver。我不断收到一个异常,说驱动程序无法找到我正在搜索的内容。事实是,没有无头模式我没有问题,我的代码工作正常。
class Bot:
def __init__(self):
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--window-size=1920,1080');
self.drivers = []
for j in range(2):
self.drivers.append(webdriver.Chrome(options=options,executable_path="/usr/lib/chromium-browser/chromedriver"))
def clearCache(self, index):
self.drivers[index].get('chrome://settings/clearBrowserData')
time.sleep(1)
try:
settings = self.drivers[index].find_element_by_xpath('//settings-ui')
except Exception as e:
print(e)
错误:
Message: no such element: Unable to locate element: {"method":"xpath","selector":"//settings-ui"}
(Session info: headless chrome=88.0.4324.187)
编辑 我试着截图
self.drivers[index].get('chrome://settings/clearBrowserData')
self.drivers[index].get_screenshot_as_file("screenshot.png")
我得到一个空白图像。
EDIT2 我注意到获取设置页面似乎有问题
self.drivers[index].get('chrome://settings/clearBrowserData')
因为在其他页面搜索的元素可以毫无例外地找到。我只需要转到设置即可删除缓存(因为我的机器人每次删除缓存时都会循环刷新页面)。
奇怪的是,没有无头模式,一切正常,self.drivers[index].get('chrome://settings/clearBrowserData')
不会以空白屏幕截图结束。
答案 0 :(得分:0)
您可以尝试添加以下参数吗?或者,您可以通过加入 Internat Option->Security-> Trusted Sites-> add the URL 手动添加 URL。
--allow-running-insecure-content