2013-09-29 5 views
2

Я пытаюсь щелкнуть некоторые кнопки, и я использую кнопку Follow на twitch в качестве примера.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" 

Edit:

Пример сайта с кнопкой Я хочу нажать (кнопка Следование): http://www.twitch.tv/mradder89/profile/

Селен баночка файл я использую «селен-сервер автономный-2.35.0.jar»

ошибки я получаю

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

Edit 2:

Я скачал файл PhantomJSDriver ехе (phantomjs.exe) и пытается его. Он не работает ... Я не получаю сообщение об ошибке, подобное ранее (ошибка «Не удалось найти узел ...»).

Вот код: http://pastebin.com/GzvubMZr

+0

Отредактировано мое сообщение с дополнительной информацией. Я использую «WebDriver driver = new HtmlUnitDriver();» поэтому браузер не открывается. – user1021085

+0

Хотел добавить, что он нажал кнопку «Follow/Unfollow», когда я использовал Selenium IDE с целью как «// 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(); 
Смежные вопросы