2017-04-24 49 views
2

我輸入下面的方法:是否可以在使用Java的網頁中點擊某個點?

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

我需要點擊(或clickAndWait)這似乎是比CTA本身更大的跨度元素上,沒有任何的子元素iside它(除文) 。

所以,我想知道是否有一種方法來對網頁上的某一點我的IDE點擊(就像如果你輸入座標,它會點擊相應的位置)。

另外,我想知道是否可以直接點擊實際文本(如文本包含在CTA,和該命令會驗證)。

預先感謝您!

後來編輯:

的URL中,我試圖這是http://www.chevrolet.com/current-deals

我的問題是,我想在點擊「詢價」 CTA任何車輛(這似乎一下後在任何「提供」按鈕上)。我在iframe中進行了操作,但是我嘗試通過xpath和css單擊,但是包含此CTA的跨度似乎大於實際的CTA。

我用下面的導入語句:

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」屬性附加傷害,這對每一個具體的指標也試過項目。

+0

嘗試'java.awt.Robot' – XtremeBaumer

+0

謝謝你的快速反應。在閱讀您的評論後,我已經搜索了這個。我發現我需要以下導入語句: import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; 但是,我找不到這個具體行動(點擊文字或相應網頁上的某個位置)的相關命令。 –

+1

歡迎來到Stack Overflow!請閱讀[問]和[預計需要多少研究工作?](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

我試過這個解決方案,實際結果是在測試過程中,當這個代碼被計算出來時,我的電腦只是打開我的開始菜單,而不是點擊座標指向的地方。我使用標尺從Firefox中的WebDeveloper工具中獲取x和y值。 –

+0

什麼是你的屏幕分辨率和你的座標是什麼? – XtremeBaumer

+0

我使用兩臺顯示器,均爲1920x1080。它可能是與有兩臺顯示器有關的問題嗎?我使用了以下座標:(904,1416)。我認爲這個命令會在瀏覽器中應用。如果沒有,我相信我必須首先滾動到所涉及的元素,因爲它在第一個實例中不可見。 –

相關問題