元素更改后捕获HTML

时间:2015-09-27 16:06:54

标签: selenium selenium-webdriver automated-tests

我正在寻找在网页上执行某些操作后捕获HTML的自动方式。

例如,我在下拉列表中选择了一些项目并且HTML已经更改,我想捕获该HTML并转储到文件中。结果,我最终会在我的硬盘上找到许多不同的HTML文件。

我当时认为可以通过使用Selenium实现这一点,也许还有一些其他插件可以让我以自动方式保存HTML文件。

3 个答案:

答案 0 :(得分:1)

我认为你要做的事情并不那么容易。关于SO还有其他问题(例如this one)提出同样的问题并且没有任何好的答案。我试着谷歌搜索几分钟找到一种方法来做到这一点。我认为更像是一个浏览器插件可以为你做这件事。

如果我被迫使用Selenium进行编码,我会做类似以下的事情......

创建一个脚本,启动浏览器并导航到您要跟踪的页面。在用户定义的时间间隔内,脚本将获取页面源并将其与上次捕获进行比较。如果源不相同,它会将两个页面区分开并将差异写入磁盘。我确信你可以找到并使用许多不同的库。

这种方法的问题......

  1. 如果您在定义的时间间隔内进行了太多更改,您将获得一系列更改,而无法区分哪些操作发生了哪些更改。
  2. 如果您将间隔设置得太小,则可能会遇到性能问题。
  3. 可能最重要的问题是你会运行几个测试,然后回过头看看差异......但是你无法分辨出哪些变化对应于什么行动,因为你可以除了发生的顺序之外,不要把两者绑在一起。
  4. 如果您可以在页面中注入一个按钮,单击该按钮会弹出一个输入对话框,您可以键入一些文本并将其用作即将进行的动作差异的标签,这可能会很酷。例如,单击按钮并键入“选择价格” - 确定。现在,您从下拉列表中选择价格。下次单击该按钮时,脚本会检测到按钮单击并执行快速差异并使用“选择价格”标签将其写入磁盘......或者类似的东西。

答案 1 :(得分:1)

我找到了自己问题的答案。

  1. 启动selenium chrome驱动程序服务器。
  2. 使用selenium客户端连接,可以使用以下代码示例捕获所有更改:
  3. 代码:

    View > Tool Windows > Documentation

答案 2 :(得分:0)

你的意思是源代码吗?

for Python:

driver.page_source

for Java:

driver.getPageSource();

您可以在更改页面的每个步骤后运行这些代码