如何使用Selenium Webdriver定位元素

时间:2019-01-21 12:34:22

标签: selenium

在使用Selenium Webdriver在Visual Studio中导出测试后,我在VS中执行了测试用例,并且在尝试在测试中定位元素时失败。该元素是页面中的一个选项卡,但是测试用例无法找到该选项卡的ID。这是失败的行driver.FindElement(By.Id("ui-id-14")).Click();,我还尝试通过在Chrome浏览器中检查元素来查找具有ClassName driver.FindElement(By.ClassName("ui-tabs-anchor")).Click();的元素,但仍然失败。有人可以告诉我我在做什么错吗?预先谢谢你。

driver.FindElement(By.Id("ui-id-14")).Click();
driver.FindElement(By.ClassName("ui-tabs-anchor")).Click();

1 个答案:

答案 0 :(得分:0)

您如何激励驾驶员?一个常见的错误是没有对硒进行隐式等待。驱动程序会在文档准备好后立即尝试定位元素,这对于“常规” JS应用程序是不可行的,因为在文档准备好之后将其呈现。试试:

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

这样,驱动程序将在抛出异常之前尝试每0.5秒(最多30秒)查找元素。顺便说一句:欢迎使用stackoverflow。请考虑发布您的代码/代码段,这通常使分析更加容易。我的建议纯粹是根据我对硒新手的经验提出的。