【问题标题】:Is there a way to debug the Ghostdriver source code (and phantomjs)?有没有办法调试 Ghostdriver 源代码(和 phantomjs)?
【发布时间】:2015-08-04 21:09:50
【问题描述】:

我在我开发的 UI 自动化中为 Selenium WebDriver 和 Ghostdriver/Phantomjs 使用 Python 绑定。我想知道是否有一种方法,当我向 Ghostdriver 服务发送请求时,我可以以某种方式“停止”ghostdriver 代码的执行,以便我可以像在调试器中一样逐行执行代码。

有没有办法做到这一点?我唯一能想到的就是将日志语句放入 ghostdriver 源并编译 phantomjs 源,但这似乎是一种非常笨拙的方法。不知道我什至可以做到这一点。

【问题讨论】:

  • 为什么要单步执行 ghostdriver 代码?你希望最终找到什么?
  • Ghostdriver 没有找到我们的一些选择器,即 //div[] 或 div.some_class,我们知道选择器是有效的。我想看看ghostdriver中是否有错误。我在想可能是页面加载问题,比如页面没有加载页面上的某些元素。
  • 我明白了。我还没有遇到过 PhantomJS 中 XPath 表达式的问题,但是 PhantomJS 1.x 中有一个 :nth-child()/:nth-of-type() 错误。通过截屏并打印页面源来确保元素确实存在。
  • 我们使用的是 phantomjs 2.0.0。我需要一种调试 ghostdriver 源代码的方法。

标签: python selenium phantomjs ghostdriver


【解决方案1】:

为此,您需要使用的不是编译的库,而是 ghost 驱动程序的源代码。 https://github.com/detro/ghostdriver

不确定这是否可以从 python 中实现。(看起来像是写在 java 上的,但不确定)

【讨论】:

  • Ghostdriver 是用 JavaScript 编写的,它直接在 PhantomJS 中运行。从理论上讲,可以将 ghostdriver 实现更改为无需重新编译 PhantomJS 即可进行调试的。
  • 知道我该怎么做吗?
猜你喜欢
  • 2014-05-14
  • 1970-01-01
  • 1970-01-01
  • 2012-06-03
  • 2011-05-16
  • 2011-04-16
  • 1970-01-01
  • 2021-03-28
  • 2021-05-14
相关资源
最近更新 更多