我设法浏览网站但我登陆了拥有Javascript和Ajax 的网站。 View Source和Inspect Element 中的代码不一样。
使用Selenium,我只能 点击查看来源代码中的元素。
我目前的代码是:
driver.FindElement(By.Id("libraryTab_ManagementPackagesTable_productNameGroup_appdynamics")).Click();
但应用程序崩溃,因为元素位于Inspect Element代码中,而不是在View Source中。
答案 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
。您可以增加或减少超时。