【问题标题】:Foreground Firefox browser using selenium python (Mac OSX)使用 selenium python (Mac OSX) 的前台 Firefox 浏览器
【发布时间】:2018-09-24 07:42:43
【问题描述】:

我正在终端中使用 python 运行 selenium 测试。当我运行测试时,Firefox 窗口在终端后面打开。如何让它在前台打开 Firefox 窗口?

我试过了:

# Store the current window handle
currentWindowHandle = webDriver.current_window_handle

# Run your javascript alert code
webDriver.execute_script("alert('Test')")
webDriver.switch_to.alert.accept()

# Switch back to to the window using the handle saved earlier
webDriver.switch_to.window(currentWindowHandle)

还有:

webDriver.maximize_window()

这两个解决方案是由this previous stackoverflow question 提出的。但它们不适用于 osx。

【问题讨论】:

    标签: python-3.x macos selenium


    【解决方案1】:

    我发现的一种解决方法是使用 fullscreen_window 方法。这会强制窗口以全屏形式显示在前面,然后在我将窗口大小设置为我想要的大小之后立即显示。

    这对我在 High Sierra 有效:

    webDriver.fullscreen_window() # Bring firefox window to foreground
    webDriver.set_window_size(1200,900) # Change size back to desktop size
    

    selenium python docs

    【讨论】:

      【解决方案2】:

      要使其正常工作,您可以使用moz:firefoxOptions 功能的args 键并指定-foreground。这会强制 Firefox 在前台打开。

      对于 Selenium Python 绑定,它看起来像:

      from selenium import webdriver
      from selenium.webdriver.firefox.options import Options
      
      opts = Options()
      opts.add_argument("-foreground")
      
      driver = webdriver.Firefox(options=opts)
      

      【讨论】:

        【解决方案3】:

        我让它在 macOS Mojave 上工作的唯一方法是如下代码:

        import os
        os.environ['MOZ_HEADLESS'] = '1'
        

        os.environ['MOZ_HEADLESS'] = ''
        

        恢复

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-13
          • 2018-02-10
          • 1970-01-01
          • 2017-08-01
          • 2019-10-05
          相关资源
          最近更新 更多