Пытаюсь эмулировать мобильный андроид-девайс
Подменяю параметры браузера фингером:
User-Agent
mozilla/5.0 (linux; android 4.4.2; de-ch; samsung gt-i9505 build/kot49h) applewebkit/537.36 (khtml, like gecko) version/1.5 chrome/28.0.1500.94 mobile safari/537.36
Accept
*/*
Accept-Encoding
gzip, deflate
Accept-Language
de-ch,de;q=0.8,en-us;q=0.6,en;q=0.4
параметры полученные яваскриптом:
{"window.screen":{"colorDepth":32,"pixelDepth":32,"height":640,"width":360,"availHeight":640,"availWidth":360,"availTop":0,"availLeft":0},"window.navigator":{"userAgent":"Mozilla/5.0 (Linux; Android 4.4.2; de-ch; SAMSUNG GT-I9505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36","appCodeName":"Mozilla","appName":"Netscape","appVersion":"5.0 (Linux; Android 4.4.2; de-ch; SAMSUNG GT-I9505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36","language":"de","platform":"Linux armv7l","vendor":"Google Inc.","vendorSub":"","product":"Gecko","productSub":"20030107","onLine":true,"oscpu":"undefined","plugins":{"length":0},"mimeTypes":{"length":0}},"window.af":{"timezone":-60}}
все эти параметры подставляются сответственно в нужные переменные
instance.SetHeader("HTTP_USER_AGENT",value);
instance.SetHeader("HTTP_ACCEPT_LANGUAGE",value);
....
instance.SetScreenPreference("screen_pixel_depth",Convert.ToInt32(fpo.GetValue("window.screen").SelectToken("colorDepth").ToString()));
instance.SetScreenPreference("screen_height",Convert.ToInt32(fpo.GetValue("window.screen").SelectToken("height").ToString()));
.....
В итоге FB cxbnftn браузер зенки действительно вроде и при запросе страницы для логина присылает в ответ страницу именно для мобильного девайса.
Но зенка ее отображает некорректно и не получается на ней найти элементы для ввода логина и пароля:
Вот скрин того что отображается в дебагере зенки:
Может кто подскажет, есть ли какие то секреты, что бы корректно отображать страницу именно для мобильного девайса. Потому как нужно эмулировать именно мобильный девайс, и все действия проводить с ним. Вариант подсунуть хедеры виндового браузера не подходит.
Подменяю параметры браузера фингером:
User-Agent
mozilla/5.0 (linux; android 4.4.2; de-ch; samsung gt-i9505 build/kot49h) applewebkit/537.36 (khtml, like gecko) version/1.5 chrome/28.0.1500.94 mobile safari/537.36
Accept
*/*
Accept-Encoding
gzip, deflate
Accept-Language
de-ch,de;q=0.8,en-us;q=0.6,en;q=0.4
параметры полученные яваскриптом:
{"window.screen":{"colorDepth":32,"pixelDepth":32,"height":640,"width":360,"availHeight":640,"availWidth":360,"availTop":0,"availLeft":0},"window.navigator":{"userAgent":"Mozilla/5.0 (Linux; Android 4.4.2; de-ch; SAMSUNG GT-I9505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36","appCodeName":"Mozilla","appName":"Netscape","appVersion":"5.0 (Linux; Android 4.4.2; de-ch; SAMSUNG GT-I9505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36","language":"de","platform":"Linux armv7l","vendor":"Google Inc.","vendorSub":"","product":"Gecko","productSub":"20030107","onLine":true,"oscpu":"undefined","plugins":{"length":0},"mimeTypes":{"length":0}},"window.af":{"timezone":-60}}
все эти параметры подставляются сответственно в нужные переменные
instance.SetHeader("HTTP_USER_AGENT",value);
instance.SetHeader("HTTP_ACCEPT_LANGUAGE",value);
....
instance.SetScreenPreference("screen_pixel_depth",Convert.ToInt32(fpo.GetValue("window.screen").SelectToken("colorDepth").ToString()));
instance.SetScreenPreference("screen_height",Convert.ToInt32(fpo.GetValue("window.screen").SelectToken("height").ToString()));
.....
В итоге FB cxbnftn браузер зенки действительно вроде и при запросе страницы для логина присылает в ответ страницу именно для мобильного девайса.
Но зенка ее отображает некорректно и не получается на ней найти элементы для ввода логина и пароля:
Вот скрин того что отображается в дебагере зенки:
Может кто подскажет, есть ли какие то секреты, что бы корректно отображать страницу именно для мобильного девайса. Потому как нужно эмулировать именно мобильный девайс, и все действия проводить с ним. Вариант подсунуть хедеры виндового браузера не подходит.