2011-09-09 67 views
0

这里的情况 - 在我测试的网站上,页面源代码动态变化,即当我将鼠标移到元素上时,我看到一个弹出框,它有DOM结构和所有。我想捕获弹出窗口中的DOM元素。如何处理使用Selenium Webdriver + Python的弹出

我使用python的webdriver。当我使用IDLE时,它运行良好,因为弹出窗口停留在网页上,我可以捕获DOM结构。但是,当我尝试在脚本中执行该操作时,弹出窗口仅闪烁在屏幕上,我无法捕获DOM结构。

我一直在使用WebDriverWait,操作API等尝试,但没有什么工作。任何指针将不胜感激。谢谢。

回答

0

使用操作将鼠标悬停在元素上方。直进的做法是这样的(不好意思的代码是在C#):

IWebElement element = driver.FindElement(By.Id("something")); 
Actions action = new Actions(driver); 
actions.MoveToElement(element); 
actions.Perform(); 

//get the DOM structure 

重要的是不要忘记Perform()电话。如果这不起作用(有时它不是),ClickAndHold替换MoveToElement。通常这会使鼠标悬停弹出窗口无限期地打开。

相关问题