Selenium驱动程序/Java-不带<;输入类型=";文件"&燃气轮机;
我知道这种使用Selenium上传文件的方法Selenium驱动程序/Java-不带<;输入类型=";文件"&燃气轮机;,java,windows,selenium,selenium-webdriver,selenium-chromedriver,Java,Windows,Selenium,Selenium Webdriver,Selenium Chromedriver,我知道这种使用Selenium上传文件的方法 WebElement UploadImg = driver.findElement(By.xpath("//*[@id='file_upload_button']")); UploadImg.sendKeys("d:\5.jpg"); 但是,它要求文件上载按钮必须是表单中的一个按钮 我可以单击上载按钮并查看windows文件提示窗口。选择文件并单击“打开”后,它将工作 它似乎只是这样起作用的。我需要能
WebElement UploadImg = driver.findElement(By.xpath("//*[@id='file_upload_button']"));
UploadImg.sendKeys("d:\5.jpg");
但是,它要求文件上载按钮必须是
表单中的一个按钮
我可以单击上载按钮并查看windows文件提示窗口。选择文件并单击“打开”后,它将工作
它似乎只是这样起作用的。我需要能够在这里选择文件。我已经尝试了所有的按键组合。但是,似乎没有任何东西允许我编辑windows文件提示窗口顶部的文件名
有什么解决办法?非常感谢使用Java的一些优秀示例。我已经通过使用 我们可以使用Java和Selenium Web驱动程序单击网站上的上载按钮 然后我们可以调用用AutoIt编写的.exe文件。在我们的Java应用程序中。在显示的窗口中执行必要的操作。Selenium Web驱动程序范围之外的操作 我通过这个学习了AutoIt的基本原理 我对教给我的东西做了一些修改。满足我的需要。在Java应用程序中,我们可以将要上载的文件路径写入.txt文件。然后,该文件在运行时被AutoIt.exe文件引用。这样我们就不必将文件路径硬编码到.exe文件中。这意味着我们可以在运行时更改它 自动编码 这段代码从.txt文件读取我们想要上传的文件的路径 然后,它关注windows弹出窗口中的文件路径文本框。它将此文件路径字符串粘贴到其中 然后单击“打开”按钮
看起来您正在寻找Autoit来发送文件。我的项目使用Java并在Eclipse中构建。您有任何示例代码吗?:)那么他们上传功能的html结构是什么呢?可能有一个文件输入框埋在一些样式下,但它是隐藏的。使用我问题中的代码没有任何作用。这就是我们谈论的FB。所以他们很精明。
#include <File.au3>
# File path of .txt with file name inside
Global $sFileName = @ScriptDir & "\info.txt"
# Get file name from .txt file
Global $sFileRead = FileRead($sFileName)
# Focus in on file path text box in pop up window
ControlFocus("Open","","Edit1")
# Small delay
Sleep(1000)
# Enter file name into text box in popup window
ControlSetText("Open","", "Edit1", string($sFileRead))
# Small delay
Sleep(1000)
# Click the upload button
ControlClick("Open", "", "Button1")
// Get file with PrintWriter
PrintWriter writer = new PrintWriter("E:/Google Drive/Data - Cloud/Programming/AutoIt/info.txt", "UTF-8");
// Add our file path to the text file
writer.print("C:\\Users\\jacktrow\\Pictures\\222.jpg");
// Close PrintWriter
writer.close();
// Click upload button on target site
driver.findElement(By.xpath("//a[@data-trigger='anywhere-upload-input']")).click();
// Run AutoIt .exe script that uses file path we saved in .txt file
Runtime.getRuntime().exec("E:/Google Drive/Data - Cloud/Programming/AutoIt/test.exe");