Mobile ChromeDriver中的移动仿真
如果将WebDriver与Chrome一起使用(通过Chromedriver),则可能需要模拟移动视口特性。类似地,您可能希望在桌面上自动化测试,而不必在Android上使用合适的Chrome设置Mobile ChromeDriver中的移动仿真,mobile,webdriver,selenium-chromedriver,Mobile,Webdriver,Selenium Chromedriver,如果将WebDriver与Chrome一起使用(通过Chromedriver),则可能需要模拟移动视口特性。类似地,您可能希望在桌面上自动化测试,而不必在Android上使用合适的Chrome设置 如何做到这一点?ChromeDriver在2.11中添加了移动模拟功能 完整文档: 我的笔记如下: 在Python中使用mobile_仿真功能选项创建驱动程序: driver = self.CreateDriver( mobile_emulation = {
如何做到这一点?ChromeDriver在2.11中添加了
移动模拟功能
完整文档:
我的笔记如下:
在Python中使用mobile_仿真功能选项创建驱动程序:
driver = self.CreateDriver(
mobile_emulation = {
'deviceMetrics': {'width': 360, 'height': 640, 'pixelRatio': 3}})
目前,您可以模拟devicepixelratio、useragent、视口高度和宽度
对于mobile_仿真dict:
deviceName
:如果使用,则必须是唯一的属性。与Chrome中的a匹配(例如,“Google Nexus 5”
)李>
deviceMetrics
:可以包括宽度(int)、高度(int)、像素比率(double)的dict,如上所示
userAgent
:在请求头和导航器对象上欺骗的字符串
ChromeDriver在2.11中增加了移动模拟功能
完整文档:
我的笔记如下:
在Python中使用mobile_仿真功能选项创建驱动程序:
driver = self.CreateDriver(
mobile_emulation = {
'deviceMetrics': {'width': 360, 'height': 640, 'pixelRatio': 3}})
目前,您可以模拟devicepixelratio、useragent、视口高度和宽度
对于mobile_仿真dict:
deviceName
:如果使用,则必须是唯一的属性。与Chrome中的a匹配(例如,“Google Nexus 5”
)李>
deviceMetrics
:可以包括宽度(int)、高度(int)、像素比率(double)的dict,如上所示
userAgent
:在请求头和导航器对象上欺骗的字符串
这是最新的chromedriver官方版本()
java中的示例:
final DesiredCapabilities dc = DesiredCapabilities.chrome();
dc.setCapability(ChromeOptions.CAPABILITY, new ChromeOptions() {
{
setExperimentalOption("mobileEmulation", new HashMap<String, Object>() {
{
put("deviceName", "Google Nexus 5");
}
});
}
});
ChromeDriver driver = new ChromeDriver(dc);
final DesiredCapabilities dc=DesiredCapabilities.chrome();
dc.setCapability(ChromeOptions.CAPABILITY,新ChromeOptions(){
{
setExperimentalOption(“mobileEmulation”,新HashMap()){
{
put(“deviceName”、“谷歌Nexus 5”);
}
});
}
});
ChromeDriver驱动器=新的ChromeDriver(dc);
这是最新的chromedriver官方版本()
java中的示例:
final DesiredCapabilities dc = DesiredCapabilities.chrome();
dc.setCapability(ChromeOptions.CAPABILITY, new ChromeOptions() {
{
setExperimentalOption("mobileEmulation", new HashMap<String, Object>() {
{
put("deviceName", "Google Nexus 5");
}
});
}
});
ChromeDriver driver = new ChromeDriver(dc);
final DesiredCapabilities dc=DesiredCapabilities.chrome();
dc.setCapability(ChromeOptions.CAPABILITY,新ChromeOptions(){
{
setExperimentalOption(“mobileEmulation”,新HashMap()){
{
put(“deviceName”、“谷歌Nexus 5”);
}
});
}
});
ChromeDriver驱动器=新的ChromeDriver(dc);
移动模拟选项在上一个ChromeDriver版本(V2.11)中实现。使用WebDriverJ,您必须将其作为属性添加到capabilities对象中
var webdriver = require('selenium-webdriver');
var capabilities = {
browserName: 'chrome',
chromeOptions: {
mobileEmulation: {
deviceName: 'Apple iPhone 5'
}
}
};
var
driver = new webdriver
.Builder()
.withCapabilities(capabilities)
.build();
driver.get('http://google.com');
var bool = false;
setTimeout(function () {
bool = true;
}, 9000);
driver.wait(function() {
return bool;
}, 10000);
driver.quit();
mobileEmulation选项在上一个ChromeDriver版本(V2.11)中实现。使用WebDriverJ,您必须将其作为属性添加到capabilities对象中
var webdriver = require('selenium-webdriver');
var capabilities = {
browserName: 'chrome',
chromeOptions: {
mobileEmulation: {
deviceName: 'Apple iPhone 5'
}
}
};
var
driver = new webdriver
.Builder()
.withCapabilities(capabilities)
.build();
driver.get('http://google.com');
var bool = false;
setTimeout(function () {
bool = true;
}, 9000);
driver.wait(function() {
return bool;
}, 10000);
driver.quit();
到有效设备名称的链接可能应该被修复?到有效设备名称的链接可能应该被修复?谢谢这很有用,因为官方文档不提供webdriver的信息。谢谢!这很有用,因为官方文档不提供webdriver JS的信息