お世話になります。
本来のseleniumの使い方から逸脱するかもしれませんが、サイトを巡回して情報を得る作業を自動化したいです。
javaは殆ど初めてなので、みっともないコードを書いていましたら、お目汚しご容赦ください。
開発環境はWindows7 32bit。
javaはjavac -version で1.8.0_66になります。
eclips4.4.2で、解凍したseleniumをビルド・パスに読み込むところはOKで、Firefoxが立ち上がり、driver.getでGoogleに行き、sendKeysで検索文字を打ってという基本テストがOKでしたので気をよくし、次のようなコードを試験してみました。
java
1import java.util.List; 2 3import org.openqa.selenium.By; 4import org.openqa.selenium.WebDriver; 5import org.openqa.selenium.WebElement; 6import org.openqa.selenium.firefox.FirefoxDriver; 7import org.openqa.selenium.support.ui.ExpectedCondition; 8import org.openqa.selenium.support.ui.ExpectedConditions; 9import org.openqa.selenium.support.ui.WebDriverWait; 10 11import static org.openqa.selenium.support.ui.ExpectedConditions.*; 12 13public class App2 { 14 15 public static void main(String[] args) { 16 // TODO 自動生成されたメソッド・スタブ 17 18 WebDriver driver = new FirefoxDriver(); 19 20 driver.get("http://news.infoseek.co.jp/ranking/"); 21 22 WebElement webElement = driver.findElement(By.id("rankingCmp")); 23 List<WebElement> WebElementList = webElement.findElements(By.tagName("a")); 24 25 for (int i=0 ; i<WebElementList.size() ; i++) { 26 System.out.println(WebElementList.get(i)); 27 28 } 29 30 } 31 32} 33
こちらの希望としては、infoseekのニュースランキングに接続し、ソースを見たところ、ランキング部分は<div id="rankingCmp" という部分に固まっているようですから、このdiv内のAタグをすべてLISTに読み込み、順番に接続するのが希望です。
現在、とりあえずこの中身を表示してみようとしているのですが、出力されるのは
[[[[FirefoxDriver: firefox on WINDOWS (e9fdd279-ee6c-499a-a26e-fa8920059ef2)] -> id: rankingCmp]] -> tag name: a]
という文字列で、aタグのリンク先ではないようです。
何が間違っていて、取り込まれたAタグが表示されないのでしょうか?
逆に間違って、Aタグを取り込んでいないのでしょうか?
よろしくご指導ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/13 23:50