我如何最小化启动Selenium浏览器(如Firefox)?我希望命令browser.start(mySettings)
启动浏览器最小化。
答案 0 :(得分:14)
我有一个可以满足您需求的替代解决方案。您可以将WebDriver的位置设置为在视图之外。这样,它在运行时就会消失。 (它可能从一个可见的位置开始,但它只会在那里瞬间出现。)
FirefoxDriver driver = new FirefoxDriver();
driver.manage().window().setPosition(new Point(-2000, 0));
答案 1 :(得分:6)
您的问题并未说明为什么您希望在最小化的浏览器中运行测试用例,但遗憾的是,selenium不会为同一个提供任何内置函数。
通常,当我们想要使用最大化浏览器运行测试用例时,我们使用driver.manage().window().maximize();
毫无疑问,通过使用键盘快捷键来最小化窗口或使用JavaScriptExecuter ,有几种方法可以通过代码最小化窗口,但这又取决于您正在使用的操作系统和语言
您可以尝试的另一件事是 HtmlUnitDriver 。使用此功能,您甚至无法看到浏览器,因此如果您在执行测试时遇到无法打开浏览器的情况,这也可能会达到您的目的例。
答案 2 :(得分:3)
Dimension windowMinSize = new Dimension(100,100);
driver.manage().window().setSize(windowMinSize);
答案 3 :(得分:2)
在不知道您最小化浏览器的动机并假设您正在使用WebDriver驱动程序(Selenium v2)并且不希望弹出UI的情况下,可以使用轻量级浏览器HtmlUnitDriver。
答案 4 :(得分:2)
对于C#,您还可以使用内置方式轻松地最小化窗口。
请参阅:https://www.selenium.dev/documentation/en/webdriver/browser_manipulation
屏幕截图:
答案 5 :(得分:1)
When Using Python to Move the FireFox Browser off screen:
driver = webdriver.FireFox()
driver.set_window_position(-2000,0)
答案 6 :(得分:1)
driver.set_window_position(2000,2000)
或
(x,y)值大于监视器分辨率
稍后如果你想再次看到窗口
driver.maximize_window()
答案 7 :(得分:0)
在php中,我们可以使用JavaScript命令来最小化浏览器窗口。
$this->selenium->getEval("Minimize();");
和java的类似命令:
browser.getEval("Minimize();");
答案 8 :(得分:0)
帖子中提到的变通方法对NodeWebKit浏览器不起作用,因此我必须使用本机C#代码,如下所述:
public static void MinimiseNWKBrowser(IWebDriver d)
{
var body = UICommon.GetElement(By.TagName("body"), d);
body.Click();
string alt = "%";
string space = " ";
string down = "{DOWN}";
string enter = "{ENTER}";
SendKeys.SendWait(alt + space);
for(var i = 1; i <= 5; i++)
{
SendKeys.SendWait(down);
}
SendKeys.SendWait(enter);
}
所以这个解决方法基本上使用&#34; ALT + SPACE&#34;调出浏览器操作菜单以选择&#34; MINIMIZE&#34;从选项和按下&#34; ENTER&#34;
答案 9 :(得分:0)
最小化浏览器的最佳方法是使用Robot类使用快捷方式。
快捷方式:Alt + Space + N(适用于Windows)
Robot robot=new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_SPACE);
robot.keyRelease(KeyEvent.VK_N);
通过使用上述代码,您可以最小化浏览器。
答案 10 :(得分:0)
Selenium没有内置的方法来最小化 浏览上下文。在测试执行处于进行中的情况下将浏览器最小化会违反最佳做法,因为 Selenium 可能会失去对浏览上下文的关注,并且在 Test Execution 中可能会引发异常。您可以在How to execute tests with selenium webdriver while browser is minimized
中找到相关的详细讨论但是,要模仿最小化 浏览上下文的功能,可以使用以下步骤:
0
,0
] 代码块( Java ):
driver.navigate().to("https://www.google.com/");
Point p = driver.manage().window().getPosition();
Dimension d = driver.manage().window().getSize();
driver.manage().window().setSize(new Dimension(0,0));
driver.manage().window().setPosition(new Point((d.getHeight()-p.getX()), (d.getWidth()-p.getY())));
答案 11 :(得分:0)
定义驱动程序后
driver = webdriver.Chrome(r"FULL PATH TO YOUR CHROMEDRIVER")
做
driver.minimize_window()
然后致电该站点
driver.get(r'SITE YOU WANT TO SELECT')
它将最小化。
答案 12 :(得分:-1)
您可以使用:
driver.manage().window().maximize();
For example code snippet with chrome driver:
System.setProperty("webdriver.chrome.driver", "C://chromedriver.exe");
driver = new ChromeDriver();
baseUrl = "chrome://newtab/";
driver.manage().window().maximize().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
Firefox的只使用“firefordriver.exe”
答案 13 :(得分:-5)
driver.manage().window().minimize();
这应该有助于最小化窗口。您还可以使用&#34;最大化&#34;代替&#34;最小化&#34;最大化窗口。