使用下面的代码块,它打开一个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键那样表现。
答案 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);