注入的Javascript错误(Python Web刮刀)

注入的Javascript错误(Python Web刮刀),javascript,python,html,css,traceback,Javascript,Python,Html,Css,Traceback,我之前也遇到过类似的问题,但我不明白为什么它不允许我点击复选框。我相信我在检查复选框时出错,因为选择了错误的方式 这是我的回溯: Traceback (most recent call last): File "C:\Python27\Sample Programs\Spynner Basic.py", line 19, in <module> br.check('input[name="AdvSearchView$SRView$_resultGrid$ctl01$chk

我之前也遇到过类似的问题,但我不明白为什么它不允许我点击复选框。我相信我在检查复选框时出错,因为选择了错误的方式

这是我的回溯:

Traceback (most recent call last):
  File "C:\Python27\Sample Programs\Spynner Basic.py", line 19, in <module>
    br.check('input[name="AdvSearchView$SRView$_resultGrid$ctl01$chk"]')
  File "C:\Python27\lib\site-packages\spynner\browser.py", line 846, in check
    self._runjs_on_jquery("check", jscode)
  File "C:\Python27\lib\site-packages\spynner\browser.py", line 394, in _runjs_on_jquery
    raise SpynnerJavascriptError("error on %s: %s" % (name, code))
SpynnerJavascriptError: error on check: jq('input[name="AdvSearchView$SRView$_resultGrid$ctl01$chk"]').attr('checked', true)

我相信这与选择器上的名称错误有关。

我可能错了,但我认为这是一个实际的错误。你应该向基奥基报告。 我将您的html复制到本地文档并运行您的代码(及其变体)

如果启用调试,则可以看到以下内容:

Javascript console (undefined:1): ReferenceError: Can't find variable: jq
Javascript console (undefined:1): ReferenceError: Can't find variable: jq
这毫无意义。这是一个spynner定义的变量,为什么不存在呢

如果您尝试:

browser.load('http://www.lehigh.edu/~inwww/form-test.html')
browser.uncheck('input[type=checkbox]')
browser.check('input[type=checkbox]')
它工作得很好

要获取更多调试信息,请执行以下操作:

browser.debug_level = spynner.INFO
检查api或源代码,了解您拥有的调试级别的其他选项。 我可能与事实相去甚远,所以也许其他人可以解释一下

编辑:

如果将其添加到源html源:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>


它起作用了。似乎jquery没有正确注入(根据文档应该是这样的)。

呃,为什么会出现下行?这是一个合理的问题,很新奇。回答你自己的问题?!?!
browser.debug_level = spynner.INFO
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>