0

情况如下 - 在我正在测试的网站上,页面源动态变化,即当我将鼠标移到一个元素上时,我看到一个弹出框,它具有 DOM 结构和所有内容。我想捕获弹出框中的 DOM 元素。

我正在使用带有 python 的 webdriver。当我使用 IDLE 时效果很好,因为弹出框会在网页上停留一段时间,并且我可以捕获 DOM 结构。但是,当我尝试在脚本中执行它时,弹出框只是在屏幕上闪烁,我无法捕获 DOM 结构。

我曾尝试使用 WebDriverWait、Actions API 等,但没有任何效果。任何指针将不胜感激。谢谢。

4

1 回答 1

0

使用操作将鼠标悬停在元素上。直截了当的方法是这样的(对不起,代码在 C# 中):

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

//get the DOM structure

重要的是不要忘记Perform()来电。如果这不起作用(有时只是不起作用),请替换MoveToElementClickAndHold. 通常这会使诸如鼠标悬停弹出窗口之类的东西无限期地打开。

于 2011-09-09T14:10:56.767 回答