2

我正在尝试单击一些按钮,并以 twitch 上的“关注”按钮为例。

我使用 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/

我使用的 Selenium jar 文件是“selenium-server-standalone-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

4

1 回答 1

2

使用 PhantomJSDriver,尝试不同的定位器。如果有例外,请发布例外,否则发布元素的信息,例如位置、文本等。

driver.findElement(By.xpath("//*[contains(@class, 'profile-actions')]//span[text()='Follow']")).click();
driver.findElement(By.cssSelector(".profile-actions .primary_button > span")).click();
于 2013-09-30T23:40:41.500 回答