やること
JavaのSelenium WebDriverを使って「Yahoo! JAPAN」トップページのdescription(metaタグ内)を取得する。
環境
Windows 7
JDK 8u121
Eclipse Neon.2 Release (4.6.2)
必要なもの
Java用Selenium Clientドライバ
Selenium Client & WebDriver Language Bindings(3.0.1)
selenium-java-3.0.1.zip
GoogleChrome用WebDriver
ChromeDriver(2.27)
chromedriver_win32.zip
Firefox用WebDriver
Mozilla GeckoDriver(v0.14.0)
geckodriver-v0.14.0-win64.zip
やり方
「Java用Selenium Clientドライバ」を解凍する
解凍先は「C:\home\downloads\selenium-java-3.0.1\」とする。
「C:\home\downloads\selenium-java-3.0.1\client-combined-3.0.1-nodeps.jar」がある状態。
「GoogleChrome用WebDriver」を解凍する
解凍先は「C:\home\downloads\chromedriver_win32\」とする。
「C:\home\downloads\chromedriver_win32\chromedriver.exe」がある状態。
「Firefox用WebDriver」を解凍する
解凍先は「C:\home\downloads\geckodriver-v0.14.0-win64\」とする。
「”C:\home\downloads\geckodriver-v0.14.0-win64\geckodriver.exe”」がある状態。
EclipseでJavaプロジェクトを作成する
今回はプロジェクト名を「SeleniumWebDriver」とした。
Eclipseに外部JARファイルを追加する
「Add External JARs」で、上記「Java用Selenium Clientドライバ」を解凍したフォルダにある
「client-combined-3.0.1-nodeps.jar」と「lib\」配下のjarファイルすべて(「cglib-nodep-3.2.4.jar」などの33ファイル)を追加する。
コードを書く
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Main { public static void main(String[] args) throws InterruptedException { WebDriver webDriver; //Chrome用ドライバを使う場合はこっち System.setProperty("webdriver.chrome.driver", "C:\\home\\downloads\\chromedriver_win32\\chromedriver.exe"); webDriver = new ChromeDriver(); //Firefox用ドライバを使う場合はこっち //System.setProperty("webdriver.gecko.driver", "C:\\home\\downloads\\geckodriver-v0.14.0-win64\\geckodriver.exe"); //webDriver = new FirefoxDriver(); /* * http://www.yahoo.co.jp/ にアクセスして、 * <meta name="description" content="XXXX"> * の「XXXX」の部分を取得する */ String url = "http://www.yahoo.co.jp/"; webDriver.get(url); String cssSelector = "meta[name=description]"; By by = By.cssSelector(cssSelector); String description = webDriver.findElement(by).getAttribute("content"); System.out.println(description); //終了 webDriver.quit(); } } |
実行する
「日本最大級のポータルサイト」云々の文字列が表示されればOK