javascript - python selenium附加文件,没有要交互的元素
问题描述
我正在尝试使用 selenium 附加文件,但该网站没有可与之交互的元素。我尝试将密钥发送到此代码中与附件相关的多个元素,但 Selenium 需要一个 type="file" 的元素,但在这种情况下没有。网站也使用 javascript。这是来自网站的代码
<div id="multiattaches" class="multiattaches">
<div class="multiattaches__content multiattaches__content_hidden" id="attachesContent">
<div class="multiattaches__title">Attached files</div>
<div class="multiattaches__clear" id="attachesClearContent">Delete all</div>
<ol class="multiattaches__list" id="attachesList">
</ol>
</div>
<div id="newAttachesLink" class="multiattaches__button" title="Attach a file">
<i class="multiattaches__icon_attach"></i><span class="multiattaches__button__text">Attach</span>
</div>
<div class="multiattaches__count-attaches multiattaches__count-attaches_hidden" id="attachesCount">
Files: <span id="attachesCountValue">-1</span>
</div>
<p id="newAttaches_info" class="new-attaches__info">Attach up to 32 files maximum 16 Mb per upload (.zip .txt .log .mqh .ex5 .mq5 .mq4 .ex4 .mt5 .set .tpl .cl .py .sqlite .csv .ipynb .gif .png .jpg .jpeg)</p>
</div>
我可以单击这 2 个元素,然后会出现上传对话框,但我无法使用要添加的文件发送密钥,出现错误,无法与这些元素交互
<i class="multiattaches__icon_attach"></i>
<span class="multiattaches__button__text">Attach</span>
在这种情况下甚至可以使用硒附加文件吗?如果没有,是否有解决方案如何绕过这个?
我手动禁用了页面的javascript,刷新它并尝试点击附件按钮,没有任何反应(再次确认它使用js)
我对javascript不太了解,所以这可能是错误的,但imo在这种情况下添加文件的唯一方法是创建和执行功能类似于原始的脚本,而不是从对话框中截取文件,而是直接转发它. 我只是不知道该怎么做。
解决方案
奇怪,现在我在代码中看到了新行
<div id="multiattaches" class="multiattaches">
<div class="multiattaches__content multiattaches__content_hidden" id="attachesContent">
<div class="multiattaches__title">Attached files</div>
<div class="multiattaches__clear" id="attachesClearContent">Delete all</div>
<ol class="multiattaches__list" id="attachesList" style="max-height: 376px;"><li id="at_1" class="multiattaches__item multiattaches__item_hidden"><input type="file" name="attachedFile" size="63" class="multiattaches__input" id="_1" accept=".zip,.txt,.log,.mqh,.ex5,.mq5,.mq4,.ex4,.mt5,.set,.tpl,.cl,.py,.sqlite,.csv,.ipynb,.gif,.png,.jpg,.jpeg"><div class="multiattaches__extension"></div><div class="multiattaches__desc"><div class="multiattaches__name"></div><div class="multiattaches__size"></div></div><div class="multiattaches__delete" title="delete" data-num="1"></div></li></ol>
</div>
<div id="newAttachesLink" class="multiattaches__button" title="Attach a file">
<i class="multiattaches__icon_attach"></i><span class="multiattaches__button__text">Attach</span>
</div>
<div class="multiattaches__count-attaches multiattaches__count-attaches_hidden" id="attachesCount">
Files: <span id="attachesCountValue">0</span>
</div>
<p id="newAttaches_info" class="new-attaches__info">Attach up to 32 files maximum 16 Mb per upload (.zip .txt .log .mqh .ex5 .mq5 .mq4 .ex4 .mt5 .set .tpl .cl .py .sqlite .csv .ipynb .gif .png .jpg .jpeg)</p>
</div>
这个
<li id="at_1" class="multiattaches__item multiattaches__item_hidden"><input type="file" name="attachedFile" size="63" class="multiattaches__input" id="_1" accept=".zip,.txt,.log,.mqh,.ex5,.mq5,.mq4,.ex4,.mt5,.set,.tpl,.cl,.py,.sqlite,.csv,.ipynb,.gif,.png,.jpg,.jpeg"><div class="multiattaches__extension"></div><div class="multiattaches__desc"><div class="multiattaches__name"></div><div class="multiattaches__size"></div></div><div class="multiattaches__delete" title="delete" data-num="1"></div></li>
它含有硒发挥作用的必要元素
推荐阅读
- c# - 使用 SDK 创建和更新 AWS Event Bus
- html - 有人可以解释默认值在 CSS 中的工作原理吗,(据说)默认值在添加时会改变布局
- android - android webrtc 崩溃无法用 err 0xfffffff4 实例化编解码器“OMX.qcom.video.decoder.vp8”
- javascript - 我看不到排序的中间结果
- python - 将熊猫中的值移动另一列(python)
- python - 如何将 keras 模型文件加载到 OpenCV 代码中?
- php - SQLSTATE [42S21]:列已存在:1060 列名“id”重复
- node.js - 连接MongoDB进行表达。服务器没有启动
- macos - 交换文件名位置
- json - 如何使用参数作为文件名从 postgres 表创建 json 文件