使用selenium python的前景Firefox浏览器(Mac OSX)

时间:2018-04-13 21:53:54

标签: python-3.x macos selenium

我在终端使用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。

3 个答案:

答案 0 :(得分:0)

我找到的解决方法是使用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

答案 1 :(得分:0)

要实现此功能,您可以使用args功能的moz:firefoxOptions键并指定-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)

答案 2 :(得分:0)

让它在macOS Mojave上运行的唯一方法是在下面的代码中:

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

os.environ['MOZ_HEADLESS'] = ''

还原