0
EDIT:心配しないで、私はそれを理解しました。 By.id()
の代わりにBy.name()
を実行しなければなりませんでした。XMLファイルからフォームを記入するためにセレンを使用する
XMLファイルでSeleniumを使用する方法を学習しようとしていますが、問題が発生しているようです。
ステップ:
- 私は、XMLファイルを解析し、セレンwebdriverをを使用して文字列
- に値を保存し、私がグーグルを開き、検索ボックスにいくつかの値を挿入し、「Google検索」をヒットしてみてください。
これは私が立ち往生する場所です。値は決して入力されず、ボタンをクリックしません。
XMLファイル:
<?xml version="1.0" encoding="UTF-8"?>
<TestData>
<url-name>
<url>http://www.google.com</url>
</url-name>
<user-details>
<email>[email protected]</email>
<phone>(555)5559292</phone>
<folder>inbox</folder>
</user-details>
</TestData>
Javaコード:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.*;
import org.w3c.dom.*;
public class XMLTest
{
public static void main(String [] args)
{
try {
// Get xml file
File file = new File("input.xml");
// Prepare XML
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(file);
String url = document.getElementsByTagName("url").item(0).getTextContent();
String email = document.getElementsByTagName("email").item(0).getTextContent();
String phone = document.getElementsByTagName("phone").item(0).getTextContent();
String folder = document.getElementsByTagName("folder").item(0).getTextContent();
System.out.println("\n [Debug Info]\n ------------"
+ "\n Mail:\t\t" + url
+ "\n Email:\t\t" + email
+ "\n Phone:\t\t" + phone
+ "\n Folder:\t" + folder);
// Selenium code
WebDriver wd = new FirefoxDriver();
wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
wd.get(url); // Go to URL
wd.findElement(By.id("q")).sendKeys(phone); // Type into google search box
wd.findElement(By.id("btnK")).click(); // Click button
Thread.sleep(2000);
System.out.println("\n\n [Selenium]\n -----------");
System.out.println("\n Title:\t\t" + wd.getTitle()
+ "\n URL:\t\t" + wd.getCurrentUrl());
wd.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
ブラウザが開きますが、それだけで、Googleのホームページにとどまります。どんな助けもありがとう、ありがとう!
解決策があるかどうかはわかりません。 –
でした。 Abhiはちょうどそれを同様に投稿しました。 –