Selenium Grid中desired_capabilities参数报错TypeError求助
解决Selenium Grid中webdriver.Remote的desired_capabilities参数报错问题
在使用Selenium Grid(LambdaTest)进行跨浏览器测试时,编写webdriver.Remote代码时遇到编辑器警告"Unexpected argument",运行时抛出TypeError: __init__() got an unexpected keyword argument 'desired_capabilities'错误。
问题原因
Selenium 4.x 重构了RemoteWebDriver的构造函数,移除了desired_capabilities这个关键字参数,改用options或capabilities参数来传递浏览器配置。
解决方案
有两种可行的修改方式,推荐使用更符合现代Selenium规范的options方式:
方式1:使用对应浏览器的Options类(推荐)
通过浏览器专属的Options类配置能力,再传递给webdriver.Remote的options参数:
首先导入所需的Options类:
from selenium.webdriver.chrome.options import Options as ChromeOptions from selenium.webdriver.firefox.options import Options as FirefoxOptions from selenium.webdriver.edge.options import Options as EdgeOptions
修改后的fixture代码:
@pytest.fixture(params=["chrome", "firefox", "edge"]) def driver_initialization(request): """ Initiate Driver for Selenium Grid on LambdaTest :param request: """ remote_url = "你的LambdaTest Grid地址" # 确保该变量已定义 if request.param == "chrome": options = ChromeOptions() options.set_capability("LT: Options", chrome_cap) driver = webdriver.Remote( command_executor=RemoteConnection(remote_url), options=options ) elif request.param == "firefox": options = FirefoxOptions() options.set_capability("LT: Options", firefox_cap) driver = webdriver.Remote( command_executor=RemoteConnection(remote_url), options=options ) elif request.param == "edge": options = EdgeOptions() options.set_capability("LT: Options", edge_cap) driver = webdriver.Remote( command_executor=RemoteConnection(remote_url), options=options ) request.cls.driver = driver yield driver.quit() # 用quit()彻底终止会话,避免Grid残留资源
方式2:直接使用capabilities参数
如果不想改动太多代码,也可以将desired_capabilities替换为capabilities参数:
driver = webdriver.Remote( command_executor=RemoteConnection(remote_url), capabilities={"LT: Options": desired_caps} )
注意事项
- 确认你的Selenium版本是4.x及以上,该版本才会移除
desired_capabilities参数 - 建议使用
driver.quit()替代driver.close(),确保彻底关闭Grid上的测试会话,避免资源浪费 - LambdaTest的配置需要正确嵌套在
"LT: Options"键下,这部分你的原有代码是正确的
内容的提问来源于stack exchange,提问作者Leanid
相关产品推荐
相关产品推荐

