2013-09-29 99 views
2

我正在嘗試單擊某些按鈕,並使用twitch上的Follow按鈕作爲示例。Selenium WebDriver - Java - 單擊某個按鈕

我使用Selenium IDE嘗試獲取按鈕的xpath。我得到了什麼是XPath的是://span[@id='ember637']/a/span

如果我去到Firefox和按鈕我得到複製唯一選擇:.js-follow > span:nth-child(1)

我已經在Java程序中嘗試都和他們沒有工作。當我使用//span[..的XPath我收到以下錯誤:

"Unable to locate a node using //span[@id='ember637']/a/span" 

編輯: http://www.twitch.tv/mradder89/profile/

硒:一個按鈕,我想點擊(後續按鈕)網站的

例我使用的jar文件是「硒的服務器獨立-2.35.0.jar」

我得到的錯誤是

"Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate a node using //span[@id='ember637']/a/span" 

編輯2:

我下載的PhantomJSDriver exe文件(phantomjs.exe),並嘗試它。它不起作用... 我沒有收到像以前一樣的錯誤消息('無法找到節點...'錯誤)。

下面的代碼:http://pastebin.com/GzvubMZr

+0

編輯我的帖子與更多的信息。我正在使用「WebDriver driver = new HtmlUnitDriver();」所以沒有瀏覽器正在打開。 – user1021085

+0

希望補充一點,當我將Selenium IDE與target配合使用時,它確實點擊了Follow/Unfollow按鈕「// span [@ id ='ember637']/a/span」。這就是爲什麼我感到驚訝,它沒有在Java程序中工作。 – user1021085

+0

嘗試其他瀏覽器,如果它工作正常,則使用'HtmlUnitDriver'對計時問題進行計時。所以我們可以回去解決它。 –

回答

2

隨着PhantomJSDriver,嘗試不同的定位器。如果有例外情況,請發佈例外情況,否則張貼元素的信息,例如位置,文字等

driver.findElement(By.xpath("//*[contains(@class, 'profile-actions')]//span[text()='Follow']")).click(); 
driver.findElement(By.cssSelector(".profile-actions .primary_button > span")).click(); 
相關問題