Решено Сделать не возможным загрузку профиля при несоотвествующем движке браузера

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 321
Благодарностей
5 425
Баллы
113
Наверно некоторые знают, что если загрузить профиль от firefox в движок chrome, то наверняка у вас будут проблемы.
Пожалуйста сделайте. что бы в таком случаи профили не грузились, а экшн выходил по ошибке.
 
  • Спасибо
Реакции: 606

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 542
Баллы
113
Сделано для след. версии: 5.42.0.0 \ 7.1.3.0
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 321
Благодарностей
5 425
Баллы
113

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83
Наверно некоторые знают, что если загрузить профиль от firefox в движок chrome, то наверняка у вас будут проблемы.
Пожалуйста сделайте. что бы в таком случаи профили не грузились, а экшн выходил по ошибке.
Гугл гpузится без проблем. Из под фф захожу с самим гуглом pаботаю чеpез хpом.
Гугл ненавидит фф.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 321
Благодарностей
5 425
Баллы
113

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 321
Благодарностей
5 425
Баллы
113
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
Наверно некоторые знают, что если загрузить профиль от firefox в движок chrome, то наверняка у вас будут проблемы.
Пожалуйста сделайте. что бы в таком случаи профили не грузились, а экшн выходил по ошибке.
C#:
//получаем useragent профиля
string ua = project.Profile.UserAgent;
//получаем текущий браузер проекта
var currBrowser = Convert.ToString(instance.BrowserType);

project.SendInfoToLog("Profile UserAgent: "+ua+" Current project browser: "+currBrowser, true);

//Если в ua присутствует Chrome и текущий браузер не Chrome
if (ua.Contains("Chrome") && (currBrowser != "Chrome"))
{
    //устанавливаем браузером проекта Chrome
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Chrome, true);
    project.SendInfoToLog("Движок Chrome установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 4*, и движок не Firefox45,
if (ua.Contains("Firefox/4") && (currBrowser != "Firefox45"))
{
    //устанавливаем браузером проекта Firefox45
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox45, true);
    project.SendInfoToLog("Движок Firefox45 установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 5*, 6*, 7*,
if (ua.Contains("Firefox/5") || ua.Contains("Firefox/6") || ua.Contains("Firefox/7"))
{
    //и движок не Firefox52х64
    if (ua.Contains("Win64") && currBrowser != "Firefox52x64")
    {
        //устанавливаем браузером проекта Firefox52x64
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52x64, true);
        project.SendInfoToLog("Движок Firefox52x64 установлен как браузер проекта", true);
    }
    //и движок не Firefox52
    if (ua.Contains("WOW64") && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true); 
    }
    
    // UA FF/5*-/6*-/7*, и не содержит Win64, и не содержит WOW64, и движок не Firefox52
    if (ua.Contains("WOW64")==false && ua.Contains("Win64")==false && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true); 
    }
}
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 321
Благодарностей
5 425
Баллы
113
C#:
//получаем useragent профиля
string ua = project.Profile.UserAgent;
//получаем текущий браузер проекта
var currBrowser = Convert.ToString(instance.BrowserType);

project.SendInfoToLog("Profile UserAgent: "+ua+" Current project browser: "+currBrowser, true);

//Если в ua присутствует Chrome и текущий браузер не Chrome
if (ua.Contains("Chrome") && (currBrowser != "Chrome"))
{
    //устанавливаем браузером проекта Chrome
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Chrome, true);
    project.SendInfoToLog("Движок Chrome установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 4*, и движок не Firefox45,
if (ua.Contains("Firefox/4") && (currBrowser != "Firefox45"))
{
    //устанавливаем браузером проекта Firefox45
    instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox45, true);
    project.SendInfoToLog("Движок Firefox45 установлен как браузер проекта", true);
}

//Если в ua присутствует Firefox любой версии 5*, 6*, 7*,
if (ua.Contains("Firefox/5") || ua.Contains("Firefox/6") || ua.Contains("Firefox/7"))
{
    //и движок не Firefox52х64
    if (ua.Contains("Win64") && currBrowser != "Firefox52x64")
    {
        //устанавливаем браузером проекта Firefox52x64
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52x64, true);
        project.SendInfoToLog("Движок Firefox52x64 установлен как браузер проекта", true);
    }
    //и движок не Firefox52
    if (ua.Contains("WOW64") && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true);
    }
  
    // UA FF/5*-/6*-/7*, и не содержит Win64, и не содержит WOW64, и движок не Firefox52
    if (ua.Contains("WOW64")==false && ua.Contains("Win64")==false && currBrowser != "Firefox52")
    {
        //устанавливаем браузером проекта Firefox52
        instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52, true);
        project.SendInfoToLog("Движок Firefox52 установлен как браузер проекта", true);
    }
}
А если допустим я использую движок хром, а при этом юзер агент лисы? Я так понимаю тогда ничего не получится, я понимаю что бред использовать не соответствующие юзерагенты, но все же))

Кстати была идея, тянуть движок прямо из профиля, конечно же при условии, что профиль сохраняет данную инфу.

За сниппет спасибо.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 321
Благодарностей
5 425
Баллы
113
апну тему. То что реализовали в 42 версии не совсем то, что нужно.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 368
Благодарностей
3 293
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)