首页 > 解决方案 > 代理:机器人框架和 Firefox

问题描述

我正在尝试使用 LocalHost 和端口 8080 的代理。我在 Robot Framework 中编写了以下代码,但是一旦浏览器打开,IP 就不会改变:

*** Settings ***
Documentation           This is a simple test with Robot Framework
Library                 Selenium2Library


*** Variables ***
${SERVER}                   http:/demo.testfire.net
${BROWSER}                  firefox
${DELAY}                    0



*** Keywords ***

Open Browser To Demo       
${proxy}=      Evaluate     sys.modules['selenium.webdriver'].Proxy()  sys, selenium.webdriver
${proxy.http_proxy}=         Set Variable  localhost:8080
Create Webdriver  Firefox       proxy=${proxy}
Go To  ${Server}


*** Test Cases ***
Valid Login
    Open Browser To Demo

谁能给我解决这个问题,以便在不使用 Firefox 配置文件的情况下将 Firefox 中的 IP 地址更改为127.0.0.1 ?

标签: pythonpython-3.xrobotframeworkselenium2library

解决方案


Selenium2Library 文档中的示例代码也不适用于我,所以我编写了此代码以使用代理启动 Firefox,而无需设置全新的配置文件。

*** Settings ***
Library  Collections

*** Keywords ***
Open firefox browser with proxy  
    ${caps}=  Evaluate  sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX  sys, selenium.webdriver
    ${proxy}=  Create dictionary  proxyType=MANUAL  httpProxy=YOUR-PROXY-URL:PORT
    Set to dictionary  ${caps}  proxy=${proxy}
    Open Browser  browser=headlessfirefox  desired_capabilities=${caps}

推荐阅读