Python requests_html 使用 JQuery 单击按钮提交表单
Python requests_html submit a form by clicking a button using JQuery
我正在探索 Kenneth Reitz's requests_html 并尝试使用 Jquery 提交 JS 渲染网页的形式。我不确定该怎么做,但这是我的尝试:
from requests_html import HTMLSession
url = "https://example.com"
session = HTMLSession()
r = session.get(url)
r.html.render()
script = """
() => {
$("#some_input_field").val("Some value");
$("#submit_button").click();
}
"""
r.html.render(script=script, reload=False)
但是,该值未在输入字段中设置并且未提交表单...
有什么方法可以模拟按钮单击或通过 requests_html 中的 xhr
提交表单?
例如:如果我们使用 selenium,我们可以很容易地模拟按钮点击,只需键入:
element.click()
好的,以下代码适用于我的情况:
from requests_html import HTMLSession
url = "https://example.com"
session = HTMLSession()
r = session.get(url)
r.html.render()
script = """
() => {
if ( jQuery.isReady ) {
$("#some_input_field").val("Some value");
$("#submit_button").click();
}
}
"""
r.html.render(script=script, reload=False)
编辑: 更好的方法应该是:
from requests_html import HTMLSession
url = "https://example.com"
session = HTMLSession()
r = session.get(url)
r.html.render()
script = """
() => {
$(document).ready(function() {
$("#some_input_field").val("Some value");
$("#submit_button").click();
})
}
"""
r.html.render(script=script, reload=False)
我正在探索 Kenneth Reitz's requests_html 并尝试使用 Jquery 提交 JS 渲染网页的形式。我不确定该怎么做,但这是我的尝试:
from requests_html import HTMLSession
url = "https://example.com"
session = HTMLSession()
r = session.get(url)
r.html.render()
script = """
() => {
$("#some_input_field").val("Some value");
$("#submit_button").click();
}
"""
r.html.render(script=script, reload=False)
但是,该值未在输入字段中设置并且未提交表单...
有什么方法可以模拟按钮单击或通过 requests_html 中的 xhr
提交表单?
例如:如果我们使用 selenium,我们可以很容易地模拟按钮点击,只需键入:
element.click()
好的,以下代码适用于我的情况:
from requests_html import HTMLSession
url = "https://example.com"
session = HTMLSession()
r = session.get(url)
r.html.render()
script = """
() => {
if ( jQuery.isReady ) {
$("#some_input_field").val("Some value");
$("#submit_button").click();
}
}
"""
r.html.render(script=script, reload=False)
编辑: 更好的方法应该是:
from requests_html import HTMLSession
url = "https://example.com"
session = HTMLSession()
r = session.get(url)
r.html.render()
script = """
() => {
$(document).ready(function() {
$("#some_input_field").val("Some value");
$("#submit_button").click();
})
}
"""
r.html.render(script=script, reload=False)