Selenium webdriver Robot框架调用带空格的add_参数

Selenium webdriver Robot框架调用带空格的add_参数,selenium-webdriver,robotframework,user-agent,Selenium Webdriver,Robotframework,User Agent,为了设置robot framework使用的浏览器的自定义用户代理,我找到了每个可以这样设置的地方: ${options}= Evaluate ... sys.modules['selenium.webdriver'].ChromeOptions() ... sys, selenium.webdri

为了设置robot framework使用的浏览器的自定义用户代理,我找到了每个可以这样设置的地方:

    ${options}=                         Evaluate
    ...                                 sys.modules['selenium.webdriver'].ChromeOptions()
    ...                                 sys, selenium.webdriver
    Call Method                         ${options}
    ...                                 add_argument                            --user-agent\=User agent with spaces

    Create WebDriver                    Chrome                                  chrome_options=${options}

    Go To                               https://www.whatismybrowser.com/detect/what-is-my-user-agent
但add_参数
User agent with spaces
的值不会转义,它会在浏览器中添加不需要的错误选项卡:

whatismybrowser.com检测到的用户代理是
user

我的问题很简单,如何传递有空格的参数值

我试过:

  • 带空格的用户代理
  • User\agent\with\spaces
  • User\\agent\\with\\spaces
  • 用户${SPACE}代理${SPACE}和${SPACE}空间
  • User\${SPACE}agent\${SPACE}和\${SPACE}空格
  • “带空格的用户代理”
  • “带空格的用户代理”

这些都不管用…

我已经找到了问题的根本原因

在深入研究我的问题时,我发现这个问题也正是我遇到的问题:

我在这里使用的是机器人框架docker图像:

二进制启动器bin/chromium browser.sh包含bash位置参数运算符unquote:

#/垃圾箱/垃圾箱
exec/usr/lib/chromium/chrome-original——禁用gpu——无沙盒$@
用带引号的位置参数操作符替换它可以解决问题,并且我可以设置受控浏览器的自定义用户代理

#/垃圾箱/垃圾箱
exec/usr/lib/chromium/chrome-original--禁用gpu--无沙盒“$@”

您可以尝试使用三重引号“带空格的用户代理”