首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webkitbrowser注入javascript修改输入文本值时出错

webkitbrowser注入javascript修改输入文本值时出错
EN

Stack Overflow用户
提问于 2015-01-01 21:17:09
回答 1查看 115关注 0票数 1

我在使用Python2.7中的WebkitBrower从网页获取输入文本的值时遇到了问题。

下面是示例代码:

代码语言:javascript
复制
from webscraping import webkit, xpath

url = 'https://duckduckgo.com/?q=webscraping'

user_agent='Mozilla/5.0 (compatible; MSIE 9.0; TOB 6.11; Windows NT 6.1; WOW64; Trident/5.0; MAAU)'

w = webkit.WebkitBrowser(gui=True,user_agent=user_agent)
w.get(url)

token = xpath.get(w.current_html(), '//input[@id="search_form_input"]/@value')
print token

script = """
$('#search_form_input').val('555555');
"""

w.js(script)
w.wait(2)

token = xpath.get(w.current_html(), '//input[@id="search_form_input"]/@value')
print token

该示例的输出是:

代码语言:javascript
复制
webscraping
webscraping

而不是

代码语言:javascript
复制
webscraping
555555

xpath工作良好(找到控件),但不返回注入的脚本修改后的值。

在显示的网页上修改输入。

提前谢谢,新年快乐!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-02 00:58:37

我找到了办法让这件事成功。

问题就在剧本里。要设置属性值,必须使用'attr‘方法:

代码语言:javascript
复制
script = """
$('#search_form_input').val('555555');
$('#search_form_input').attr('value','555555');
"""
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27734776

复制
相关文章

相似问题

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