selenium Remote模式下无法上传文件,该怎么解决?

发表于:2023-2-08 09:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:吹神    来源:博客园

  前言
  当selenium升级到4.7后使用远程调用服务,无法上传文件。
driver = webdriver.Remote("http://127.0.0.1:9515", options=get_chrome_options())
  使用本地浏览器启动时,上传文件正常:
driver = webdriver.Chrome(
    executable_path=r'C:\Users\Desktop\chromedriver.exe',
    options=get_chrome_options()
)
  发现问题
  当使用本地浏览器执行时和远程服务调用走的send_keys逻辑不一样导致(以下是源码send_keys方法)。
  解决问题
  调试代码时没有思路,随后在github中找到相似的问题(https://github.com/SeleniumHQ/selenium/issues/10047)。
  具体描述:
  作者给出的方案:
  目前没太能理解这句话的意思,只能用简单粗暴的方法,在send_keys执行的时候将driver._is_remote=False。
def upload(self):
    self.driver._is_remote = False
    ele = self._get_element()
    ele.send_keys(file_path)
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号