【发布时间】:2020-08-01 10:43:45
【问题描述】:
我正在尝试使用 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>
在这种情况下甚至可以使用 selenium 附加文件吗? 如果没有,有解决方案如何绕过这个?
我手动禁用了页面的javascript,刷新它并尝试点击附件按钮,没有任何反应(再次确认它使用js)
我对 javascript 不太了解,所以这可能是错误的,但在这种情况下,imo 添加文件的唯一方法是创建和执行功能与原始脚本类似的脚本,而不是从对话框中截取文件直接转发。我只是不知道该怎么做。
【问题讨论】:
标签: javascript python selenium