全屏操作在 selenium webdriver 3.x 中不起作用

Posted

技术标签:

【中文标题】全屏操作在 selenium webdriver 3.x 中不起作用【英文标题】:Fullscreen operation is not working in selenium webdriver 3.x 【发布时间】:2017-11-05 11:29:50 【问题描述】:

Firefox 版本:52.0.2(32 位) 平台:Windows 7 Selenium Webdriver 版本:3.4.0(Java 绑定) 问题陈述: 尝试在 Firefox 浏览器中执行全屏操作时,它会抛出 UnsupportedCommandException

测试代码:

public class GeckoTest 
    public static void main(String[] args) throws IOException 
        System.setProperty("webdriver.gecko.driver","<geckodriver executable>");
        FirefoxBinary binary = new FirefoxBinary(new File("firefox binary"));
        FirefoxOptions options = new FirefoxOptions();
        options.setBinary(binary);
        options.setLogLevel(Level.ALL);
        WebDriver browser = new FirefoxDriver(options);
        browser.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
        browser.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
        browser.get("http://examples.sencha.com/extjs/6.5.0/examples/kitchensink/?classic#form-fieldtypes");
        browser.manage().window().fullscreen();
        WebDriverWait wait = new WebDriverWait(browser,20,3000);
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//div[contains(@class,'x-form-spinner x-form-spinner-default x-form-spinner-down x-form-spinner-down-default')]")));
        Actions builder = new Actions(browser);
        builder.doubleClick(browser.findElement(By.xpath(".//div[contains(@class,'x-form-spinner x-form-spinner-default x-form-spinner-down x-form-spinner-down-default')]"))).perform();
        browser.close();
    

编辑:这似乎是一个已知问题,将根据enter link description here在 FF55 中修复

【问题讨论】:

如果在全屏模式下启动,默认来自 Gecko 驱动程序 FireFox...我认为 Gecko 没有实现任何全屏方法 这似乎是一个问题,将在 FF55 中实现:bugzilla.mozilla.org/show_bug.cgi?id=1189749 【参考方案1】:

当您使用 Selenium 3.4.x、geckodriver v0.16.1 和 Mozilla Firefox 53.0 时,正如您所提到的,when we try to perform full screen operation in Mozilla Firefox browser then it throws UnsupportedCommandExceptiontrue。如何在 Mozilla Firefox 中实现全屏操作,通过发送 F11 Keys 可以完美运行。以下是在 Mozilla Firefox 中检查全屏操作的最小代码块:

System.setProperty("webdriver.gecko.driver", "C:\\your_directory\\geckodriver.exe");
WebDriver browser = new FirefoxDriver();
browser.get("http://examples.sencha.com/extjs/6.5.0/examples/kitchensink/?classic#form-fieldtypes");
browser.findElement(By.tagName("body")).sendKeys(Keys.F11);

【讨论】:

sorry mate..fullscreen 是您在浏览器上按 F11 时的一种模式。最大化与全屏不同。 @MrunalGosar 请检查我更新的答案,让我知道它是否适合您。谢谢 哈哈哈..实际上这就是我目前已经在使用的解决方法..但是感谢您的努力,伙计

以上是关于全屏操作在 selenium webdriver 3.x 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

selenium-webdriver API

selenium实现网页截全屏

python selenium-webdriver 元素操作之键盘操作

selenium webdriver模拟鼠标键盘操作

关于在selenium 中 webdriver 截图操作

webdriver元素操作-键盘(python+selenium)