繁体   English   中英

Python Spynner-jQuery调用失败

[英]Python Spynner - jQuery calls fail

编辑:解决了原始问题后,代码实际上无法执行任何操作。 经过Chrome测试,将“ hi”插入密码框中。 在Spynner中,它仅加载页面。

我正在尝试使用Spynner抓取我的学校用来提供在线时间表的网站。 由于某些原因,我总是会收到以下错误:

Run Javascript code: jq("[class^=login-text-box]").val("hi")
Javascript console: ReferenceError: Can't find variable: jq

这是由以下代码引起的:

import spynner

browser = spynner.Browser()
browser.debug_level = 3;
browser.show()
browser.load("http://web.edval.com.au/#publicaccess")
browser.runjs('_jQuery("[class^=login-text-box]").val("hi")')
browser.close()

我也尝试过:

import spynner

browser = spynner.Browser()
browser.debug_level = 3;
browser.jslib = 'jq'
browser.show()
browser.load("http://web.edval.com.au/#publicaccess")
browser.runjs('jq("[class^=login-text-box]").val("hi")')
browser.close()

同样缺乏成功。 将JavaScript命令粘贴到Chrome的JS控制台中(在我注入jQuery之后)效果很好。

请有人可以提供帮助吗?

谢谢!

没关系,即使文档说jQuery将被加载为_jQuery,它实际上也被加载为$。 我通过将代码更改为以下方式修复了该问题:

import spynner

browser = spynner.Browser()
browser.load_jquery(True)
browser.debug_level = 3;
browser.show()
browser.load("http://web.edval.com.au/#publicaccess")
browser.runjs(browser.jslib+'("[class^=login-text-box]").val("hi")')
browser.close()

请注意,runjs现在实际上会检查browser.jslib。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM