我使用这段代码在使用selenium的网页上提交验证码
driver.execute_script('$.ajax({ type: "get", url: "' + str(driver.current_url).split('.com')[1] + '?g-recaptcha-response=' + g_response + '"}).done((html) => $("body").html(html) );')
这是提交我在网页上找到的验证码的正确且唯一的功能。早些时候效果还不错。但几天前,它开始给出这个错误
selenium.common.exceptions.JavascriptException: Message: javascript error: $ is not defined
我试着用“document”和“Jquery”替换“$”。。等等,但没有成功。有人知道如何修复这个错误吗?还是以其他方式提交验证码?如果有帮助的话,我也会留下我在页面上找到的javascript
var pickValidationRecaptcha;
function pickValidateRecaptchaCallback() {
pickValidationRecaptcha = grecaptcha.render('pickValidationRecaptcha', {
'sitekey': recaptchaKey,
'callback': function (resp) {
$.ajax({
type: "get",
url: "/pick/c6c23d46985a97ae5fbdc7c13ad2aa60?g-recaptcha-response=" + resp
}).done(function (html) {
$("body").html(html);
});
},
'expired-callback': function () {
try {
grecaptcha.reset(reportRecaptcha);
}
catch (e) {
}
}
});
}
$(document).ready(function () {
setTimeout(function () {
if ($("#pickValidationRecaptcha").length > 0) {
pickValidateRecaptchaCallback();
}
}, 1000);
});
$(document).ajaxComplete(function () {
setTimeout(function () {
if ($("#pickValidationRecaptcha").length > 0) {
pickValidateRecaptchaCallback();
}
}, 1000);
});
我正在使用第一个函数,它工作得很好。当我在开发者选项控制台上运行它时,它仍然有效。 任何帮助都将不胜感激。 多谢各位
目前没有回答
相关问题 更多 >
编程相关推荐