【发布时间】:2021-04-13 15:16:30
【问题描述】:
根据标题,我有一个远程 selenium 驱动程序(具有 Chrome 功能),我需要更改其用户代理而不创建另一个驱动程序。
我的远程驱动是这样设置的:
from selenium.webdriver import Chrome, Remote
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
url = "http://selenium-hub:4444/wd/hub"
driver = Remote(url, desired_capabilities=DesiredCapabilities.CHROME)
我已经知道标准的方法是创建 Chrome 选项,并像这样添加用户代理参数:
options = Options()
options.add_argument(f"user-agent={my_user_agent}")
driver = Chrome(options=options)
# also working for remote
# driver = Remote(url, desired_capabilities=DesiredCapabilities.CHROME, options=options)
但是,如前所述,我需要在同一个驱动程序中更改用户代理而不创建另一个。
我还找到了 this thread 以及 execute_cdp_cmd 函数,但它仅适用于 Chrome,不适用于 Remote。
有没有办法在远程驱动程序上运行这条指令?还是另一种“动态”设置用户代理的方式?
提前谢谢你
【问题讨论】:
-
这能回答你的问题吗? stackoverflow.com/questions/29916054/…
-
很遗憾,没有,因为接受的答案是指在创建驱动程序之前设置用户代理
标签: python selenium google-chrome selenium-webdriver