我在终端使用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。
答案 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
答案 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'] = ''
还原