如何使用 FirefoxProfile 或 FirefoxOptions 通过 Selenium 设置 Firefox 浏览器的窗口位置

2023-12-29

我需要通过创建驱动程序来更改 Firefox 窗口的位置:

driver = webdriver.Firefox()

我知道创建驱动程序后可以更改窗口位置:

driver.set_window_position()

我不知道如何使用 Firefox 配置文件或选项来做到这一点:

profile = webdriver.FirefoxProfile()
profile.set_preference("some_preference", my_preference)

or

options = Options()
options.some_optins = my_options

最后:

driver = Webdriver.Firefox(firefox_profile=profile, options=options) 

你没看错。

设置窗口位置()

set_window_position() https://seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html#selenium.webdriver.remote.webdriver.WebDriver.set_window_position设置x,y当前窗口的位置。

  • 执行:

      set_window_position(x, y, windowHandle='current')
      Sets the x,y position of the current window. (window.moveTo)
    
      Arguments :
          x: the x-coordinate in pixels to set the window position
          y: the y-coordinate in pixels to set the window position
      Usage :
          driver.set_window_position(0,0)
    
  • 定义:

      def set_window_position(self, x, y, windowHandle='current'):
          if self.w3c:
              if windowHandle != 'current':
              warnings.warn("Only 'current' window is supported for W3C compatibile browsers.")
              return self.set_window_rect(x=int(x), y=int(y))
          else:
              self.execute(Command.SET_WINDOW_POSITION,
                   {
                       'x': int(x),
                       'y': int(y),
                       'windowHandle': windowHandle
                   })
    

总结一下,window_position耦合到窗把手与浏览器有关,可以通过以下方式处理网络驱动程序仅实例。

此功能无法通过以下方式处理:

  • firefox_profile -> set_preference(key, value) https://seleniumhq.github.io/selenium/docs/api/py/webdriver_firefox/selenium.webdriver.firefox.firefox_profile.html#selenium.webdriver.firefox.firefox_profile.FirefoxProfile.set_preference:在配置文件中设置我们想要的首选项。
  • firefox.options -> set_preference(name, value) https://seleniumhq.github.io/selenium/docs/api/py/webdriver_firefox/selenium.webdriver.firefox.options.html#selenium.webdriver.firefox.options.Options.set_preference:设置首选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 FirefoxProfile 或 FirefoxOptions 通过 Selenium 设置 Firefox 浏览器的窗口位置 的相关文章

随机推荐

  • Android ProgressDialog 的样式

    我正在尝试定制ProgressDialog风格有类似的东西 我拥有的 我知道如何更改微调器的样式和颜色 但我不明白的是 如何制作圆角 我正在尝试使用android radius属性 但是没有任何变化 而且不知道如何减少padding 也许我
  • ASP.NET-MVC 2 数据注释字符串长度

    我可以使用 MVC 2 DataAnnotations 指定字符串字段的最小长度吗 有没有人这样做过或者他们创建了自定义属性 如果是的话 您介意分享源吗 如果您使用的是 asp net 4 0 则可以使用 StringLength 属性来指
  • 获取页面上选定的文本和选定的节点?

    当选择文本块 可能跨越许多 DOM 节点 时 是否可以使用 Javascript 提取所选文本和节点 想象一下这个 HTML 代码 h1 Hello World h1 p Hi b there b p 如果用户从 World 开始启动 mo
  • 在 IIS 10 中注册 asp.net

    我有一个与在 IIS 10 中注册 asp net 有关的问题 我的环境是Windows 10 IIS 10 安装了VS 2013和VS 2015 NET 3 5是Windows功能中的一个功能 我想在iis中使用nettcpbinding
  • Spring Security OAuth2 登录重定向到错误页面,尽管成功

    为了不泄露机密信息 提供商将被替换为 PROVIDER 授权有效 但它没有将我重定向到索引 而是将我重定向到 error 重现步骤 启动应用程序 进入任何页面 它会将我重定向到http localhost oauth login显示一个链接
  • 如何为每个箱线图设置不同的颜色

    我正在尝试在 VSCode 中制作 Seaborn 箱线图 我的代码基于这里的示例 here https github com bvalgard Boxplots blob master Boxplots ipynb 我专门制作了类似倒数第
  • Tkinter 帮助查看器

    我有一个简单的 Python Tkinter 应用程序 我想向其中添加帮助文档 将帮助查看器集成到应用程序的最简单方法是什么 最好是跨平台的 尽管我主要使用 Windows 我可以想象用纯 HTML 编写帮助 或者只是启动外部网络浏览器 使
  • 密码保护 Android 应用程序的启动

    我正在寻找一种在启动时用密码保护我的 Android 应用程序的方法 即当启动 恢复属于我的 apk 包的活动时 将显示密码对话框 我已经尝试了一些方法 扩展应用类 http developer android com reference
  • 在Excel中,使用VBA,如何获取“路径+文件名+扩展名”并更改扩展名?

    有一个动态生成 Excel 文件和 csv 的程序 excel 文件具有 加载时 加载 csv 数据的 VBA 代码 我想通过让 csv 文件具有相同的文件名但扩展名不同来动态调用该 csv 因此 根据我的理解 如果 xls 文件在这里 C
  • MS Access 直通查询到 SQL Server 需要什么字符清理

    我正在尝试将 MS Access 与 SQL Server 连接 并且我想确保我不会受到 SQL 注入攻击 我看到过使用 ADO 创建查询的参数化版本的建议 但我想了解如何通过 DAO 传递来清理我的输入 目前我正在转义单引号和反斜杠 VB
  • 在 Github 上分叉 Pull 请求

    有效分叉 Pull 请求的正确工作流程是什么 为了解释用例 我找到了一个存储库 其中包含一个添加了我需要的功能的拉取请求 不幸的是 拉取请求作者已经擅离职守 并且存储库所有者在编写测试之前不会接受拉取请求 我想 分叉 拉取请求并编写测试 以
  • 如何生成异步复位verilog总是阻塞凿子

    Chisel 始终生成敏感度列表中仅包含时钟的块 always posedge clk begin end 是否可以将模块配置为使用异步重置并生成这样的始终块 always posedge clk or posedge reset begi
  • Windows 上具有大型数组的 Python 多处理

    我使用python的多处理模块在linux平台上编写了一个脚本 当我尝试在 Windows 上运行该程序时 它不能直接工作 我发现这与 Windows 上如何生成子进程有关 所使用的物品是否可以腌制似乎至关重要 我的主要问题是 我正在使用大
  • 通过 CLI 的 AWS DynamoDB put-item 类型无效(unicode v. dict)

    我想通过命令行向我的 DynamoDB 表添加一个项目 但遇到了类型错误 我尝试添加的数据非常简单 id 1 我运行的命令同样简单 aws dynamodb put item table name my table item id 1 我收
  • required_if Laravel 5 验证

    我有用户可以填写的表格来出售他们的房屋 对于其中一项输入 用户必须选择 出售 或 出租 如果是出售 则会出现两个价格输入字段 如果是出租 则会出现基于 jQuery 的其他价格输入字段 我的问题是我希望价格字段是必需的 但是例如 如果我选择
  • 通过 SOS 调查 CLR

    目前 我正在深入研究 CLR 并尝试找到托管对象的适当大小 我有两种简单的类型 XClass class XClass public XStruct StructField new XStruct public int IntField p
  • 为什么在 javascript 中列出类的实际构造函数很重要

    我正在阅读 javascript 花园http bonsaiden github com JavaScript Garden http bonsaiden github com JavaScript Garden 关于 javascript
  • 为什么我的 OBJ 解析器渲染网格是这样的?

    我自己决定将 OBJ 解析器 导入器支持添加到我一直在开发的 3D 渲染引擎中 我已遵循规范在这里找到 http www martinreddy net gfx 3d OBJ spec几乎 到了发球台 除了当前限制对组 面 顶点 法线和纹理
  • IllegalStateException:PWC3990:已为此响应调用 getWriter()

    java lang IllegalStateException PWC3990 getWriter has already been called for this response 如何解决这个错误 我运行一个简单的 servlet 代码
  • 如何使用 FirefoxProfile 或 FirefoxOptions 通过 Selenium 设置 Firefox 浏览器的窗口位置

    我需要通过创建驱动程序来更改 Firefox 窗口的位置 driver webdriver Firefox 我知道创建驱动程序后可以更改窗口位置 driver set window position 我不知道如何使用 Firefox 配置文