python - 单击按钮后使用python selenium将文件上传到webApp,文件选择窗口出现
问题描述
我已经检查了其他类似问题中提供的所有解决方案,但对我的场景没有任何作用。我有一个 ID 按钮uploadFileButton
,现在当我尝试通过向元素发送密钥来提供文件路径的提供解决方案时,什么也没有发生。当我尝试使用暗示使用以下代码执行 javascript 的解决方案时:
driver.execute_script(r"document.getElementById('uploadFileButton').value='path\to\file'")
我收到以下错误:
WebDriverException: Message: TypeError: document.getElementById(...) is null
即使我能够在 javascript 之外尝试使用此 ID 获取元素。Firefox 58.0 及以上版本的浏览器会出现上述异常。因为高于 58 版本,他们已经打开了 WebDriver 特定的交互性检查,需要关闭这些检查才能使元素难以处理,然后将键发送到输入节点可以正常工作。如何进行此检查或如何克服此问题?还有其他解决方案吗?提前致谢 :)
解决方案
Firefox 58.0 及更高版本的浏览器会出现此问题。因为高于 58 版本,他们已经打开了 WebDriver 特定的交互性检查,需要关闭这些检查才能使元素难以处理,然后将键发送到输入节点就可以正常工作。希望对您有所帮助。:)
推荐阅读
- javascript - 在 Keyup (JavaScript | jQuery) 上选择并突出显示从索引 5 到 8 开始的特定文本框值
- verilog - 在 Verilog (Vivado) 中向寄存器添加不同数字的问题
- dictionary - 如何对从 DashMap 中提取的项目进行模式匹配?
- jq - 解析嵌套 JSON 并使用 jq 创建新键
- javascript - 我需要在组件中显示一个列表,但发送的数据(以 JSON 格式)未正确解析
- python - “numbers = [range(1, 11)]”和“numbers = list(range(1, 11))”之间的区别
- docker - client_max_body_size 未生效
- laravel - 启用 CentOS 7(LAMPP 和 Laravel)服务器通过 SSL 发送电子邮件
- reactjs - 在按钮单击时呈现不同的 youtube 视频
- python - 在 Python 中更新 2D 数组值 - 更新整列错误?