无法使用webdriverjs特别是F11发送密钥以最大化浏览器

时间:2014-01-20 17:00:25

标签: javascript selenium selenium-webdriver

使用下面的代码块,它打开一个Chrome浏览器很好,它只是赢得了使用F11全屏浏览器。我以前使用C#和selenium,并且在chrome和不同浏览器上使用此方法工作得很好。它找到了元素' body'但是然后不发送按键。我在这里做错了,我应该要求其他一些图书馆吗?

webdriverjs的文档很可怜而且很少有例子,我正在认真考虑将其转换为其他可能的python。

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
    withCapabilities(webdriver.Capabilities.chrome()).
    build();
driver.get('https://www.google.co.uk/');

driver.wait(function () {
    return driver.getTitle().then(function (title) {
        return title === 'Google';
    });
}, 1000);


driver.findElement(webdriver.By.xpath('/html/body')).sendKeys("F11");

我们为什么要这样做。我们正在开发一个网站,根据尺寸800x600 +使用和不使用工具栏,根据屏幕使用方式的不同,将显示不同的项目。我可以使用最大化窗口,

driver.manage().window().maximize();

然而,这仍然会使工具栏显示,并且不会像用户按下F11键那样表现。

6 个答案:

答案 0 :(得分:4)

花了一些时间才能找到它但你应该拥有webdriver.Key中的所有密钥

driver.findElement(webdriver.By.xpath('/html/body')).sendKeys(webdriver.Key.F11);

希望它有所帮助!

答案 1 :(得分:1)

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

ActionChains(driver).send_keys(Keys.F11).perform()

我使用类似的命令通过Firefox的NoScript附加组件切换JS

编辑:我刚刚测试过,它有效!

答案 2 :(得分:1)

一位同事刚刚发现它在C#中可以很好地与以下对象配合使用:

Driver.Instance.Manage().Window.FullScreen(); 

答案 3 :(得分:0)

这应该适合你:

driver.findElement(webdriver.By.xpath('/html/body')).sendKeys(Keys.F11);

答案 4 :(得分:0)

您可以使用以下方式最大化窗口:

driver.manage().window().maximize();

答案 5 :(得分:0)

对我来说,在启动时正确模拟F11的是:

ChromeOptions options = new ChromeOptions();
options.addArguments("--start-fullscreen");
WebDriver driver = new ChromeDriver(options);

或者如果首选信息亭模式:

ChromeOptions options = new ChromeOptions();
options.addArguments("--kiosk");
WebDriver driver = new ChromeDriver(options);