gpt4 book ai didi

selenium - Firefox - 使用 Selenium 隐藏浏览器框架

转载 作者:行者123 更新时间:2023-12-03 06:36:43 25 4
gpt4 key购买 nike

我正在尝试找出如何隐藏由 Selenium 实例化的 Firefox 实例的边框(包括地址栏、选项卡、标题栏...所有不是浏览器视口(viewport)的内容)。

如果有某种方法让它使用 userChrome.css,那就足够简单了。我尝试使用 this answer 加载包含 userChrome.css 的配置文件文件夹作为指南,但它似乎忽略了样式。我还查看了 Firefox 的 about:config,看看是否有一些首选项可以隐藏窗口框架,但我还没有找到任何东西。

任何允许我在使用 Selenium 创建实例时隐藏所有或部分元素的解决方案都会有所帮助。我知道这很愚蠢,但有时就是这样,你知道吗?

-编辑-

我认为标题栏不需要隐藏。但其他一切都应该隐藏。

-另一次编辑以澄清一些事情-

我在评论中提到了信息亭模式,作为我想要的某种的例子。不过,信息亭模式并不正是我想要的。这些窗口并不意味着全屏,但它们仍然应该缺少通用浏览器窗口的元素。把它想象成一个 Electron 应用程序。 Electron 开箱即用,缺少地址栏、选项卡等。这基本上就是我们的应用程序所拥有的,但它是在常规的旧 Firefox 中使用的。同样,这些元素是否显示通常不会影响测试,但我们无论如何都希望它们隐藏。

最后,我的一个 friend 尝试使用包含在 Firefox 配置文件中的 userChrome.css 来实现此目标,并且能够让 Selenium 使用 userChrome。所以也许我需要弄清楚我做错了什么。他的做法和我的做法之间最大的区别是我必须使用远程网络驱动程序进行测试。但即便如此,它应该能够加载 userChrome.css 文件。当我进一步摆弄它时,我会尝试用更多细节来更新这个问题。

-编辑-

我认为 userChrome 在指定配置文件时无法正常工作的原因是所使用的 Selenium/Geckodriver/Firefox 版本不同。

我开始使用的 geckodriver 版本是 0.15。 0.17 的表现完全相同。 0.18 根本不尊重我传递给它的配置文件,而是让 Firefox 打开配置文件选择窗口(不是很有用,但我至少能够选择正确的配置文件并看到 userChrome.css 得到应用)。 0.24 没有什么不同。

Firefox 是 52.9.0。我对此无能为力。

我们正在使用 selenium(独立)服务器 3.8.1。切换到 3.141.59 没有改变任何东西。

除非有适用于 Firefox 52 的版本组合,否则我认为我唯一能做的就是等待更新。

最佳答案

我终于明白了。为了让 Selenium 使用我的自定义配置文件,我需要执行以下操作:

FirefoxProfile profile = new FirefoxProfile(new File(path_to_profile));
FirefoxOptions options = new FirefoxOptions().setProfile(profile);
RemoteWebDriver driver = new RemoteWebDriver(options.toCapabilities());
driver.get(url_of_webpage);

感谢avinesh09在 Github 上获取解决问题所需的信息。它是如此简单,但这必须是我忽略尝试加载配置文件的唯一方法。

关于selenium - Firefox - 使用 Selenium 隐藏浏览器框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56191685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com