首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Spynner - jQuery调用失败

Python Spynner - jQuery调用失败
EN

Stack Overflow用户
提问于 2012-11-27 17:17:33
回答 1查看 860关注 0票数 0

编辑:虽然原始问题得到了解决,但代码实际上并没有做任何事情。在Chrome上测试后,它会在密码框中插入“hi”。在Spynner中,它只是加载页面。

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

代码语言:javascript
复制
Run Javascript code: jq("[class^=login-text-box]").val("hi")
Javascript console: ReferenceError: Can't find variable: jq

这是由以下代码引起的:

代码语言:javascript
复制
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()

我也尝试过:

代码语言:javascript
复制
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之后)可以完美地工作。

有人能提供一些帮助吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-27 17:31:26

不要紧,尽管文档说jQuery将作为_jQuery加载,但它实际上是作为$加载的。我通过将代码更改为:

代码语言:javascript
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13580847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档