使用SeleniumWebDriverJava-css按钮上传照片

使用SeleniumWebDriverJava-css按钮上传照片,java,css,xpath,selenium-webdriver,Java,Css,Xpath,Selenium Webdriver,我在使用Selenium上传文件时遇到困难。我已经阅读了Stack Overflow中的所有信息,但似乎没有任何效果。我尝试使用id/name/linkText/cssSelector/xPath甚至JavascriptExecutor搜索按钮或输入。然后,我尝试单击()或使用文件路径发送密钥,但似乎没有任何效果。当我点击网站上的一个按钮时,我有一个弹出窗口,所以我至少想让Selenium点击它。 这里是网站的来源。很明显,我没有得到什么。 怎么了?你将如何解决它?提前谢谢 <div id

我在使用Selenium上传文件时遇到困难。我已经阅读了Stack Overflow中的所有信息,但似乎没有任何效果。我尝试使用id/name/linkText/cssSelector/xPath甚至JavascriptExecutor搜索按钮或输入。然后,我尝试单击()或使用文件路径发送密钥,但似乎没有任何效果。当我点击网站上的一个按钮时,我有一个弹出窗口,所以我至少想让Selenium点击它。 这里是网站的来源。很明显,我没有得到什么。 怎么了?你将如何解决它?提前谢谢

<div id="image-uploader" class="btn primary">
     <form class="direct-upload" method="post" enctype="multipart/form-data" action="https://some_address">
         <input type="hidden" name="key">
         <input type="hidden" value="AKIAJCYVQEAJNT7OGZAQ" name="AWSAccessKeyId">
         <input type="hidden" value="public-read" name="acl">
         <input type="hidden" name="policy">
         <input type="hidden" name="signature">
         <input type="hidden" value="201" name="success_action_status">
         <input type="file" name="file" accept="image/*" style="top: 25.5px; left: 20.5px;">
         </form>
    Add Image
</div>

添加图像

您需要将密钥发送到type=file的任何节点。在您的情况下,请尝试使用sendKeys访问以下节点-

<input type="file" name="file" accept="image/*" style="top: 25.5px; left: 20.5px;">


您遇到了什么错误…或者只是没有上传?只是没有上传。有时看起来按钮可能被点击了,但仍然没有打开窗口,也没有上传照片(使用sendKeys)来验证您的路径是否正确。。。(包括转义),并验证选择器是否正确。但是,如果它没有抛出错误,我认为您的选择器是write,因为其他输入是隐藏的。如果你不能得到任何工作…你可能必须尝试一个解决办法(如机器人类)谢谢,我会试试!很确定这条路是好的。我会读关于机器人的书。好吧,一切都很好,我只是个傻瓜。使用Selenium IDE我找不到按钮,但正常:driver.findElement(By.name(“file”)).sendKeys(“C:\\path\\file.jpg”);很好。我只是以一种很难看到的方式将文件命名错误。谢谢@praneel!