如何使用Selenium查找和单击Inspect Element中的元素

时间:2017-01-12 12:10:09

标签: javascript c# selenium selenium-webdriver selenium-chromedriver

我设法浏览网站但我登陆了拥有Javascript和Ajax 的网站。 View Source和Inspect Element 中的代码不一样

使用Selenium,我只能 点击查看来源代码中的元素。

我目前的代码是:

driver.FindElement(By.Id("libraryTab_ManagementPackagesTable_productNameGroup_appdynamics")).Click();

但应用程序崩溃,因为元素位于Inspect Element代码中,而不是在View Source中。

1 个答案:

答案 0 :(得分:0)

如果您的元素不在初始页面源中,但是动态创建,则可能需要使用ExplicitWait。请尝试以下代码:

WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(15));
IWebElement element = wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("libraryTab_ManagementPackagesTable_productNameGroup_appdynamics")));
element.Click();

使用上面的代码,您应该能够等待(不超过15秒),直到生成元素并且可以单击它。否则,您将获得TimeOutException。您可以增加或减少超时。