【发布时间】:2013-09-07 04:29:05
【问题描述】:
我有一个可以抓取内部文本的链接,但我无法点击它
driver.switchTo().activeElement();
String sTemp = selenium.getText("TabBar:LogoutTabBarLink");
以上工作正常
sTemp = "Log Out";
selenium.click("TabBar:LogoutTabBarLink");
上述失败:Element is no longer valid
【问题讨论】:
-
我对您同时使用 Selenium RC 和 WebDriver 感到困惑。您使用
WebDriverinterface 的实例还是Selenium 的实例?您最初的标记和您的第一行代码说的是前者,但getText()和click()方法来自后者。 -
我真的不使用 RC。我只编写了几个星期的 selenium 代码,所以我很容易感到困惑。我通过首先设置驱动程序,然后设置硒来跨越两个世界: public void setDriver(WebDriver driver) { this.driver = new InternetExplorerDriver(); } public void setSelenium(Selenium selenium, String sURL) { this.selenium = new WebDriverBackedSelenium(driver, sURL); }
-
如果可以,只使用 WebDriver 并忘记 Selenium 接口。 WebDriver 较新,有更好的 API,仍在开发中等。Selenium 已被官方弃用,2 年未开发,有它的缺点等。你必须使用 Selenium 吗?如果没有,请尝试将您的代码重写为等效的 WebDriver 并查看问题是否消失。
-
感谢您的建议,我将放弃 Selenium 接口。谷歌让找到随机解决方案变得太容易了!另一个好心人(下)告诉我使用 xpath,所以我会用它来运行。
标签: java selenium webdriver selenium-webdriver selenium-rc