selenium 带有“--no-sandbox”的Chromium Web驱动程序正在打开完全透明/不可见的Chrome窗口

f1tvaqid  于 2023-02-04  发布在  其他
关注(0)|答案(1)|浏览(339)

相关代码如下:

# find the Chromium profile with website caches for the webdriver
    chrome_options = Options()
    profile_filepath = "user-data-dir=" + "/home/hephaestus/.config/chromium/Profile1"
    chrome_options.add_argument(str(profile_filepath))
    
    # put chromium into --no-sandbox mode as a workaround for "DevToolsActivePort file doesn't exist"
    chrome_options.add_argument("--no-sandbox")
    
    # start an automatic Chrome tab and go to embervision.live; wait for page to load
    driver = webdriver.Chrome("./chromedriver", options=chrome_options)

当我运行这段Python代码(并导入所需的库)时,我得到了下面的截图。用上面的代码打开的Chromium在右边,是透明的,并且有问题。
Desktop view with Chromium webdriver tab glitching out on the right
我可以输入网址并与页面交互,但我就是看不到任何内容。我不知道为什么。
我删除并重新下载了 selenium 和 chrome ,但没有效果。我不得不添加“--no-sandbox”选项,因为它收到了另一个错误,说“DevToolsActivePort文件不存在”。
我不确定导致此问题的其他原因。

kt06eoxx

kt06eoxx1#

所以我找到了一个对我有效的解决方案!
1.完全卸载并重新安装Chromium。重新安装时,检查您的Chromium版本是否与Selenium匹配(我甚至不知道这是一个东西)。
1.不要以sudo用户的身份运行Python代码。我运行了"sudo python3 upload_image. py"并得到了"DevToolsActivePort文件不存在"的错误。当我只运行"python3 upload_image. py"时,它没有引发错误。
1.当作为一个非sudo用户运行时不要使用选项"--no-sandbox"("python 3 upload_image. py").由于某种原因,"--no-sandbox"选项也以我上面发布的透明/无限的方式破坏了我的Chromium浏览器。
希望这对以后的人有帮助!

相关问题