2017-04-24 6 views
2

Javaを使用してWebページの特定のポイントをクリックすることはできますか?私は、次のメソッドをインポートしています

import helper.webdriver.ExtraMethods; 
import helper.webdriver.JavascriptMethods; 
import org.junit.Test; 
import org.openqa.selenium.By; 

私はクリック(またはclickAndWait)する必要がCTA自体よりも大きくなるように思わspan要素に、どの子なしの要素は、(テキストを除く)、それをISIDE 。

私は、Webページ上の特定のポイントでIDEをクリックする方法があるかどうかを知りたいと思います(座標を入力すると、対応する場所をクリックします)。

また、実際のテキストを直接クリックすることができるかどうかを知りたいと思います(テキストがCTAに含まれているため、コマンドが検証する)。

ありがとうございます!

その後編集:私は、これは私の問題は、私はこれがクリックした後に表示されます(すべての車両のための「見積依頼」CTAをクリックしたいということですhttp://www.chevrolet.com/current-deals

でしようしていたに

URL任意の「オファー」ボタンに表示されます)。私はiframeの中に入っていましたが、xpathとcssでクリックしようとしましたが、このCTAが含まれているスパンは実際のCTAよりも大きいようです。

私は、次のimport文を使用:

import helper.webdriver.ExtraMethods; 
import helper.webdriver.JavascriptMethods; 
import org.junit.Test; 
import org.openqa.selenium.By; 

そして、これは私の実際のコードはでした:

clickAndWait(resolve("xpath=(//*[@class='CTA btn_prim'])[1]")); 

私もそれぞれに固有のインデックスを持つ「tabindex属性」atributeを、使用してみました項目。

+0

try 'java.awt.Robot' – XtremeBaumer

+0

ありがとうございます。私はあなたのコメントを読んだ後、これを探しました。私は次のインポートステートメントが必要であることを発見しました: import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; しかし、この特定の操作(テキストまたはWebページ上の特定の場所をクリック)に関連するコマンドが見つかりません。 –

+1

ようこそスタックオーバーフロー! [尋ねる]と[どの程度の研究努力が必要ですか?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)をお読みください。試したコードやエラーメッセージなどの実行結果を提供してください。ページや関連するHTMLへのリンクも提供してください。 – JeffC

答えて

1
Robot r=new Robot(); 
r.mouseMove(x, y); 
r.mousePress(InputEvent.BUTTON1_DOWN_MASK); 
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); 

これはマウスカーソル移動ロボット、作成されます(実際のカーソルを。あなたのマウスを動かすべきではありません)は、x/yの位置に単一の左クリックを実行します。

xとyは画面の左上から始まります。

これは、この特定の問題に対する解決策があれば、それは非常に悪いですが、その作業のために最高の解決策ではないかもしれません。あなたがより良い人を知っているなら、私に教えてください。

+0

私はこの解決策を試しましたが、実際の結果は、テスト中にこのコードが計算されているときに、私のPCはちょうど座標点をクリックするのではなく、スタートメニューを開きます。私は、ルーラーを使ってFirefoxからWebDeveloper Toolからxとyの値を取り出しました。 –

+0

画面の解像度は何ですか?座標は? – XtremeBaumer

+0

私は1920x1080で2台のモニターを使用します。 2台のモニターを持っていることに関連する問題ですか?私は以下の座標を使用しました:(904、1416)。私はこのコマンドがブラウザ内で適用されると思った。そうでなければ、最初の例では表示されないので、問題の要素にスクリプトを最初にスクロールさせる必要があると私は信じています。 –

関連する問題