2

I'm trying to click some buttons and I'm using the Follow button on twitch as an example.

I used the Selenium IDE to try to get the xpath for the button. What I got as xpath was: //span[@id='ember637']/a/span

If I go to FireFox and copy unique selector for the button I get: .js-follow > span:nth-child(1)

I have tried both in the java program and they don't work. When I use the //span[.. xpath I get the following error:

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

Edit:

Example of a site with a button I want to click(The Follow button): http://www.twitch.tv/mradder89/profile/

The Selenium jar file I am using is "selenium-server-standalone-2.35.0.jar"

The error I am getting is

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

Edit 2:

I downloaded the PhantomJSDriver exe file(phantomjs.exe) and was trying it out. It doesn't work... I do not get a error message like before(the 'Unable to locate a node...' error).

Here's the code: http://pastebin.com/GzvubMZr

9
  • Edited my post with more info. I'm using "WebDriver driver = new HtmlUnitDriver();" so no browser is being opened. Commented Sep 29, 2013 at 22:51
  • Wanted to add that it did click the Follow/Unfollow button when I used the Selenium IDE with target as "//span[@id='ember637']/a/span". Which is why I was suprised that it didn't work in the java program. Commented Sep 29, 2013 at 23:04
  • Try other browsers, if it works, then timing issue or issues with HtmlUnitDriver. So we can get back to solve it. Commented Sep 29, 2013 at 23:21
  • @user1177636 What do you mean try other browsers? The Selenium IDE is a Firefox plugin Commented Sep 29, 2013 at 23:23
  • FirefoxDriver, ChromeDriver, InternetExploerDriver, etc. Commented Sep 29, 2013 at 23:38

1 Answer 1

2

With PhantomJSDriver, try different locators. Post exceptions if there are any, otherwise post the elemenst's info, e.g. location, text, etc.

driver.findElement(By.xpath("//*[contains(@class, 'profile-actions')]//span[text()='Follow']")).click();
driver.findElement(By.cssSelector(".profile-actions .primary_button > span")).click();
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.