0

Я попытался изменить строку пользовательского агента, используя Open Browser, с desired_capabilities и обнаружил, что Chrome больше не поддерживает эту технику.Как изменить строку пользовательского агента Google Chrome с помощью Robot Framework

После долгих поисков и чтения я обнаружил, что появилась новая версия Selenium2library с новым ключевым словом Create Webdriver, который должен решить эту проблему.

Я изменил их пример в соответствии со своими потребностями. Но независимо от того, что я делаю, он не изменяет строку пользовательского агента.

У меня нет ошибок, нет предупреждений, нет ничего, кроме отлично работающего браузера без измененной строки пользовательского агента.

Я попытался изменить другие параметры, такие как --start-maximized с тем же результатом, то есть без результата.

Отрывок из ключевых слов, который открывает Google Chrome и (предположительно) изменяет строку агента пользователя:

${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver 
${options.add_argument}= Set Variable user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 System/ComputerId" 
Create WebDriver Chrome chrome_options=${options} 
Go To http://www.useragentstring.com

Изготовленные после примера, приведенного здесь (в нижней части страницы):

https://github.com/rtomac/robotframework-selenium2library/issues/225

Мое программное обеспечение:

  • Google Chrome 31.0.16 50,59
  • Селен 2.39.0
  • Selenium2library 1,5
  • Robot Framework 2.8.3
  • Robot Framework езды 1.2.2

Так что это проблема?

+0

Решение этой проблемы кажется неуловимым, как единорог на данный момент. –

ответ

2

После того, как еще немного переделать и прочитать, мне удалось найти способ заставить этот пример работать.

Вместо использования ${options.add_argument}= Я использовал Call Method ${options} add_argument.

${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver 
Call Method ${options} add_argument --user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 System/ComputerId 
Create WebDriver Chrome chrome_options=${options}  
Go To http://www.useragentstring.com 
0

У меня возникла аналогичная проблема. я попытался запустить ваш код, но не повезло, что он работает. Он просто говорит, что пользовательский агент не определен. Я просмотрел и наткнулся на этот код, но, к сожалению, написано в питоне:

from selenium import webdriver 
 
import webbrowser 
 
from selenium.webdriver.chrome.options import Options 
 
mobile_emulation = { 
 
    "deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 }, 
 
    "userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" } 
 
chrome_options = Options() 
 
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation) 
 
driver = webdriver.Chrome(chrome_options = chrome_options)

0

Я попытался создать пользовательский агент в хроме с помощью RF и работает нормально для меня ниже фрагмент кода ...!

${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver 
${userAgent}= set variable --user-agent="Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" 
Call Method ${options} add_argument ${userAgent} 
Create WebDriver Chrome chrome_options=${options} 

 Смежные вопросы

  • Нет связанных вопросов^_^