Используя самые последние версии модуля Python Selenium, Chrome и ChromeDriver, следующий скрипт робота подключится к уже запущенному Chrome, запущенному с помощью:
chrome.exe --remote-debugging-port=9289 --user-data-dir="C:\temp\gdata"
chrome_debugger.robot
*** Settings ***
Library SeleniumLibrary
Library Collections
*** Test Cases ***
TC
${ChromeOptions}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys,selenium.webdriver
# Method debugger_address is not callable so convert to Capabilities Dictionary and set it manually
${ChromeCapabilities}= Call Method ${ChromeOptions} to_capabilities
Set To Dictionary ${ChromeCapabilities["goog:chromeOptions"]} debuggerAddress 127.0.0.1:9289
# Instead of using the Chrome Options use Capabilities.
Create WebDriver Chrome desired_capabilities=${ChromeCapabilities}
Go To http://cnn.com
Несмотря на то, что класс ChromeOptions
( GitHub ) имеет метод debugger_address(self, value)
, вызов этого метода из Robot Framework возвращает ошибку. Поэтому преобразование класса ChromeOptions
в словарь Capabilities
и добавление его в словарь вручную перед передачей его веб-драйверу через аргумент desired_capabilities
.