python - 使用 Selenium chromedriver (Python) 上传文件时出错 - “选择的文件扩展名无效”
问题描述
我在 Python 3.8 上使用 Selenium Chrome 网络驱动程序
尝试自动上传文件。当我使用 webdriver 中的文件选择器时,我从网站收到错误消息:“选择的文件扩展名无效”。当我手动选择相同的文件时,它可以工作。它也是网站允许的文件扩展名 (pdf)。
以下是出现错误的前一段代码:
file_input = browser.find_element_by_css_selector(
'[aria-label="select file to upload"]')
path = f'{os.getcwd()}\\Memo Style.pdf'
file_input.send_keys(path)
这是网站在我运行时显示的内容:
这是生成文件选择器的网站的 html:
<div data-role="input-control" class="input-control text">
<input aria-label="select file to upload" multiple="multiple" type="file"
accept=".3GP,.AAC,.AIFF,.ASF,.AVI,.BMP,.DMG,.DOC,.DOCX,.DRC,.F4V,.FLAC,
.FLV,.GIF,.ISO,.JPEG,.JPG,.M2TS,.M4A,.M4P,.M4V,.MKV,.MOV,.MP2,.MP3,.MP4,
.MPA,.MPC,.MPEG,.MPG,.MTS,.NSV,.OGA,.OGG,.ONE,.ONEPKG,.PDF,.PNG,.PPT,
.PPTX,.PSD,.QT,.ROQ,.RTF,.SVG,.SVI,.TIFF,.TXT,.VOB,.VOX,.VSD,.WAV,.WEBM,
.WMA,.WMV,.XLS,.XLSX,.FLS,.AVE" class="file-upload">
</div>
我真的不知道要尝试解决什么问题。我可以使用 pyautogui 进行上传,但显然最好避免这种情况。
解决方案
推荐阅读
- javascript - 使用 react-table 时缩小 React 错误 #130
- highcharts - 如何使用 react-hooks (useEffect) 缓冲流数据以便能够一次更新另一个组件以避免多次重新渲染?
- sql - 从彼此不同的特定列获取结果
- flutter - Flutter context.findRenderObject() 返回 null
- python - 多线程 - 如果在工作函数中满足某些条件,则停止创建线程
- php - 自定义 Laravel 密码重置(和其他)
- magento2 - Magento 2 销售点 - Supermax POS
- php - 如何使用 PHP 将数据从 html 数据表单导出到 CSV 或 excel 文件?
- javascript - JavaScript CSS 移动元素
- python - Python SpeechRecognition 使其他声音静音