【发布时间】:2018-05-30 06:32:54
【问题描述】:
以下 html 代码可用于上传文件,element.send_keys(absfilepath) 不起作用。将click 发送到元素后,它会在操作系统中打开文件上传窗口(在我的情况下是Linux),我无法与之交互。
用 Chrome、Firefox、PhantomJS 测试,没有任何结果。
<div class="col-sm-9">
<input value="" class="select-file-button" type="button">
</div>
附加到 iQuery.ajaxFileUpload.js。这是文件后的结果 手动上传:
<div class="col-sm-9">
<div class="ajax-fileupload" style="background-image: url("/Profishop/Temp/70a569b6747041bc88da3b74871afff7/Screenshot-2017-12-12%20Telegram%20Web.png");"><input type="button" class="delete-button"></div>
</div>
我还在源代码中找到了input type="file" 元素,但它由脚本调用,并且无法在生成的页面中访问。
<div class="col-sm-9">
<input type="file" class="afuProductImage" />
</div>
这是脚本
<script type="text/javascript">
//<![CDATA[
$(document).ready(function () {
$(".afuProductImage").ajaxFileUpload({
uploadHandler: "/aja/upload?id=70a569b6747041bc88da3b74871afff7&op=upload",
deleteHandler: "/ajax/upload?op=deleteid=70a569b6747041bc88da3b74871afff7&name=",
filePath: null,
containerAttrs: {
class: "ajax-fileupload"
},
buttonAttrs: {
value: ""
},
});
});//]]>
</script>
有没有办法通过发送 javascript 命令使用 selenium 上传文件?
【问题讨论】:
-
I couldn't interact with it你尝试了什么? -
实际上找不到访问选择文件打开窗口API的方法,我不知道该怎么做。有一些适用于 windows 操作系统的指南,但没有在 linux 上
标签: javascript python ajax selenium