请教python使用selenium解决JavaScript的弹出框的解决方法
本帖最后由 Heart灬欣 于 2020-7-3 12:18 编辑我想使用selenium写一个教务系统自动评教的小工具,但是遇到了一个必须点击的一个对话框。不知道这个怎么解决,请大佬给一个思路,我比较小白,学的不多。。。
我查看了网页源代码:脚本内容如下:
'''
<script language="javascript">
function saveData(obj, status) {
var pj06xhs = document.getElementsByName("pj06xh");
//逻辑问题,选择一个时,就可以通过,jun.l modified by 2013-12-19
/*
var flag = false;
for (i = 0; i < pj06xhs.length; i++) {
var pj0601s = document.getElementsByName("pj0601id_"+ pj06xhs.value);
for (j = 0; j < pj0601s.length; j++) {
if (pj0601s.checked) {
flag = true;
break;
}
}
}
*/
var flag = true;
for (i = 0; i < pj06xhs.length; i++) {
if(jQuery("input.value+"']:checked").length == 0) {
flag = false;
break;
}
}
if (!flag) {
alert("评价的每项指标都必须选择!");
return false;
}
flag = false;
var minZb = 0;//取到最小指标数
for (i = 0; i < pj06xhs.length; i++) {
var pj0601s = document.getElementsByName("pj0601id_"+ pj06xhs.value);
minZb = pj0601s.length;
break;
}
for(j = 0; j < minZb; j++) {
var _ind = 0;
for (i = 0; i < pj06xhs.length; i++) {
var pj0601s = document.getElementsByName("pj0601id_"+ pj06xhs.value);
if (j < pj0601s.length && pj0601s.checked) {
_ind++;
}
}
if (_ind == pj06xhs.length) {
flag = true;
break;
}
}
if(flag){
alert("请不要选相同一项!");
return false;
}
if (status == "1") {
document.getElementById("issubmit").value = "1";
} else {
document.getElementById("issubmit").value = "0";
}
if(status == "1" && !confirm("您是否确认提交当前评价,提交后不能修改!")) {
} else {
obj.disabled = true;
obj.style.color = "#dddddd";
document.getElementById("Form1").submit();
}
}
</script>
''' 感觉和我们学校差不多, 你f12试试能不能调试《确定》这个按钮?貌似是chrome的弹窗, 不能搞。 可以使用switch_to.alert()这个方法解决。 要不试一下输入enter按键点击?selenium很久不用了 https://www.bilibili.com/video/BV1Z4411o7TA?p=26 前几天写评教脚本也遇到这个问题,可以试试这个办法,导入 from selenium.webdriver.common.alert import Alert,然后实例 ale = Alert(driver),最后在弹出alert下 接受它: ale.accept()# 接受弹窗
{:1_918:}还有一种方式,你自己注入js代码,把alert拦截了
重写alert,让它使用你自己的逻辑,比如
function alert(msg){
// pass
}
function confirm(msg){
return true;
} 井右寺 发表于 2020-7-2 09:12
还有一种方式,你自己注入js代码,把alert拦截了
重写alert,让它使用你自己的逻辑,比如
然后除了你这一段,其他的全删除!
页:
[1]