首页 > 其他分享 >selenium Remote模式下无法上传文件

selenium Remote模式下无法上传文件

时间:2022-12-31 11:23:50浏览次数:55  
标签:Remote keys driver selenium send 上传 options

前言

当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)

标签:Remote,keys,driver,selenium,send,上传,options
From: https://www.cnblogs.com/se7enjean/p/17016339.html

相关文章

  • 如何使用 SAP OData 服务向 ABAP 服务器上传文件试读版
    ​​如何使用SAPOData服务向ABAP服务器上传文件试读版​​ 本教程到目前为止开发的OData图书管理服务,可以在ABAP系统里对图书数据进行增删改查。本步骤我们......
  • Selenium58-优化fixture
    v4_1问题代码运行效率较低:prepare_and_exit包含所有前置和后置步骤,每组测试数据都从重新启动浏览器开始到关闭浏览器结束。。思考:是否可以省略每组数据测试时的重......
  • Selenium59-设计conftest
    pytest的conftest文件conftest文件的作用:一个专门存放fixture的配置文件。多个测试用例文件(test_*.py)的所有用例都需要用到一个前置/后置操作,如登陆退出,浏览器......
  • Selenium57-使用fixture
    第四版使用fixturetest_后台_双创_基础设置_赛区管理_添加赛区_case_v4_1.py使用fixture来做前置和后置处理。使用yield来分隔前置后后置处理步骤。定义prepare_......
  • Selenium55-参数化优化方案
    参数化改进策略把有效和无效的测试数据合并到一个测试方法里实现。数据合并:容易方法体合并:难度大数据合并有效:一个参数,改为两个参数@pytest.mark.parametriz......
  • Selenium56-pytest测试固件
    pytest测试固件通过装饰器@pytest.fixture(),定义测试固件(testfixture)测试固件是什么?也叫测试夹具,用于实现初始化的前置操作或清理扫尾的后置操作。@pytest.fixtur......
  • Selenium54-提取参数数据
    新建第三版第一子版本脚本文件test_后台_双创_基础设置_赛区管理_添加赛区_case_v3_1.py合并添加赛区有效测试方法test_add_division_success:实现前六条有效测试用......
  • 快速上传typora中的图片
    1.前言最近发现typora中的图片是无法直接复制到文本编辑器中导入.md文章,图片也不能直接导入直接复制图片到文本编辑器会出现下面这样的问题:![2022-12-28_173100](ass......
  • git remote: Support for password authentication was removed on August 13, 2021.
    http://events.jianshu.io/p/6e86c80c457cgithub的setting里获取token//<your_token>:包括<>在内的全部字符替换成你的token//<USERNAME>:包括<>在内的全部字符替换成你......
  • github报错(完美解决):获取token。remote: Support for password authentication was rem
    文章目录​​前言​​​​一、需求背景环境​​​​一、问题描述​​​​1、截图​​​​2、报错信息解读​​​​二、寻找破解之法​​​​1、进入网址​​​​2、创建个......