0

私はセレン開発の初心者で、このページを「スクレイプ」する必要があります:

https://annunci.ebay.it/pubblica-annuncio

このページには、jquery を使用した画像のアップロードがあります。Javaでセレンを使用して同じことをする必要があります。誰かが私にいくつかの提案を与えることができますか? ありがとう!!:)

これは私が試すものです:

WebDriver d = new FirefoxDriver();
d.get("https://annunci.ebay.it/pubblica-annuncio");
List<WebElement> elements = d.findElements(By.tagName("input"));
for(WebElement e : elements){
    System.out.println(e.getAttribute("name")); 
}
4

1 に答える 1

1

あなたの質問が正しく理解できたら、そこにファイルをアップロードしたいのですが、それでよろしいですか? これでうまくいくはずです:

d.findElement(By.id("fileField")).sendKeys("C:\\absolutePath\\toYour\\file.jpg");

アイデアは、ファイルへのパスを、通常はクリックしてモーダルウィンドウを取得する要素、つまり要素に直接送信することです<input type='file' />

これらのファイル アップロード入力のほとんどには何らかのonchangeイベント トリガーがあるため、それらを起動できるはずです。WebDriver FAQによると、これには簡単な解決策があるため、これらすべてのイベントを手動で発生させる必要はありません。

WebDriver は、「sendKeys」を呼び出した要素にフォーカスを残します。「onchange」イベントは、フォーカスがその要素から離れたときにのみ発生します。そのため、おそらく別の要素を「クリック」して、フォーカスを移動する必要があります。

于 2012-05-09T22:56:45.983 に答える