我在使用Python2.7中的WebkitBrower从网页获取输入文本的值时遇到了问题。
下面是示例代码:
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该示例的输出是:
webscraping
webscraping而不是
webscraping
555555xpath工作良好(找到控件),但不返回注入的脚本修改后的值。
在显示的网页上修改输入。
提前谢谢,新年快乐!
发布于 2015-01-02 00:58:37
我找到了办法让这件事成功。
问题就在剧本里。要设置属性值,必须使用'attr‘方法:
script = """
$('#search_form_input').val('555555');
$('#search_form_input').attr('value','555555');
"""https://stackoverflow.com/questions/27734776
复制相似问题