ウェブページにログインしてファイルをアップロードしようとしています。しばらく検索した後、私はセレンを使用する解決策を見つけました。私はgeckodriverをダウンロードするために必要なこの作業を行うためにはjavaを使用してPHPサイトにファイルをアップロードする
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Example_1 {
public static final String BASEURL = "somesite.de/";
private static WebDriver driver;
public static void main(String[] args) {
String geckoPath = "C:\\...\\gecko\\geckodriver.exe";
System.setProperty("webdriver.gecko.driver",geckoPath);
driver = new FirefoxDriver();
loginAndUpload("uname", "pwd","C:\\...\\myFile.xml");
}
public static void loginAndUpload(String uname, String pwd, String filePath){
String URL = "http://" + uname + ":" + pwd + "@" + BASEURL;
driver.get(URL);
driver.findElement(By.name("filename")).sendKeys(filePath);
driver.findElement(By.cssSelector("input[type=submit]")).click();
driver.findElement(By.name("tan")).sendKeys("123");
driver.findElement(By.cssSelector("input[type=submit]")).click();
System.out.println(driver.getPageSource().contains("successful")?"successfully uploaded":"upload not successful");
driver.quit();
}
}
:
<html>
<head><title>some title</title></head>
<body>
<h1>upload</h1>
upload your file<br>
<form action="hx2.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="upload">
<input type="hidden" name="debug" value="">
<input type="file" name="filename">
<input type="submit" value="Datei senden">
<input type="reset">
</form>
</body>
</html>
とページにログインし、自分のファイルをアップロードするために使用されるJavaコード:ページのhtmlコードは次のようになります.exeを実行し、3つの外部jarファイルを追加します。さらに、私がセレンに慣れていないので、私はそれについて何かを読んで、ソフトウェアテストフレームワークであることを知りました。だから私の質問です:これはファイルをアップロードするための適切な方法ですか、私はセレンを欠いていますか? もしそうなら、ウェブサイトにログインしてファイルをアップロードする簡単/簡単な方法はありますか?