selenium.getText查找元素但selenium.click不查找

时间:2013-09-06 19:59:20

标签: java selenium webdriver selenium-webdriver selenium-rc

我有一个链接,我可以抓取内部文本,但我无法点击它

driver.switchTo().activeElement();
String sTemp = selenium.getText("TabBar:LogoutTabBarLink");

以上工作正常并且

sTemp = "Log Out";
selenium.click("TabBar:LogoutTabBarLink");

以上内容未能:Element is no longer valid

2 个答案:

答案 0 :(得分:1)

你真的想使用Selenium 2(又名Web Driver),它更快更可靠。所以,除非你有充分的理由使用它,否则请忘记Selenium 1。您的代码应如下所示

WebDriver driver = new FirefoxDriver(); //or any other, like ChromeDriver or OperaDriver
WebElement element = driver.findElement(By.id("idOfYourElement");
element.click();
String text = element.getText();

另见5 minute getting started guide

答案 1 :(得分:0)

尝试使用WebDriver,并通过id或xPath获取元素(如果没有id)。

你可以为xpath编写这样的代码:

driver.switchTo().activeElement();
WebElement element = driver.findElement(By.xpath(/*Insert xpath Here */);
element.click();

您可以在Firefox中使用Firebug或在Chrome中使用Chrome的调试程序来查找元素的xpath。

如果它有一个id,你可以类似地找到id的元素(它更快,因此更可取):

WebElement element = driver.getElement(By.id(/*Insert id Here */);

有关按ID和/或xpath查找的更多有用信息,请参阅我对 this question 的回答。