gpt4 book ai didi

javascript - Python:登录到网页并单击没有 Selenium 的按钮

转载 作者:行者123 更新时间:2023-12-04 04:27:56 25 4
gpt4 key购买 nike

我正在编写一个 python 脚本来连接到一个网站,登录然后在下一页中的给定时间单击一个按钮。我设法用 Selenium 做到了这一点,但我想要一个不需要打开浏览器的解决方案。

我正在尝试使用请求来做到这一点。我可以登录并导航到 protected 页面,但我很难按下按钮:

import requests

payload = {
'username': 'MyUsername',
'password': 'MyPassword'
}

with requests.Session() as s:
p = s.post("login_URL", data=payload)
print (p.text)

r = s.get("A_protected_URL")
print (r.text)

我想按下的按钮在“A_protected_URL”中,它的定义如下:
<script type="text/javascript">
function SubmitForm(form) // Button clicked
{
form.Submit.disabled = true;
form.Submit.value = "Please wait...";
return true;
}
</script>
<div id="submit_button" >
<form action="https://mydummywebsite.com/submitted"
method="post" onsubmit="return SubmitForm(this);" >
<input type="submit" class="sub-process-button" name="Submit" value="Submit">
</form>

向执行 Javascript 的按钮发送请求的正确方法是什么?
谢谢

最佳答案

不要试图“点击”任何东西,只是模仿按钮的作用。在这种情况下,按钮提交表单。这意味着它将执行 POST请求 ( method="post" ) 到操作 URL ( action="https://mydummywebsite.com/submitted" )。表单中的所有字段都将作为请求的内容发送,但在这种情况下,表单中没有其他字段。

import requests

payload = {
'username': 'MyUsername',
'password': 'MyPassword'
}

with requests.Session() as s:
p = s.post("login_URL", data=payload)
print (p.text)

r = s.post("https://mydummywebsite.com/submitted")
print (r.text)

关于javascript - Python:登录到网页并单击没有 Selenium 的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43107924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com