在python中使用Selenium将值传递给javascript函数

在python中使用Selenium将值传递给javascript函数,python,selenium,Python,Selenium,login.php在提交时调用以下函数 <script type="text/javascript"> function validate(){ var res=confirm("Are you sure"); if(res) return true; else return false; } </script> 我对我要做的事情还比较陌生。。如果有更好的实践,建议会很受欢迎。单击“提交”后弹出窗口,我们称之为JS

login.php在提交时调用以下函数

<script type="text/javascript">
  function validate(){
    var res=confirm("Are you sure");
    if(res)
      return true;
    else
      return false;
  }
</script>

我对我要做的事情还比较陌生。。如果有更好的实践,建议会很受欢迎。

单击“提交”后弹出窗口,我们称之为JS alert/confirm,它们由JavaScript触发,并由浏览器本机支持。对于这样的弹出窗口,selenium已经实现了与它们交互的代码。因此,只需在您使用的版本上从selenium python客户端API中找到方法。在不同的客户端API版本中,方法名称和调用方式可能不相同

alert = browser.switch_to_alert()
//accept the alert
alert.accept()

// maybe as below to call
alert = driver.switch_to.alert
alert.accept()

// or
Alert(driver).accept()
使用以下代码:

browser = webdriver.Firefox()
browser.get("http://username:password@webpage/login.php")

您将能够绕过此身份验证警报。

selenium.common.exceptions.WebDriverException:消息:无法将脚本转换为字符串请参阅此帖子:警报。accept正在工作,但在我的情况下,需要一些时间来检测。。。我有时间。sleep2,它工作正常。请尝试已发布的答案,结果证明有用,但xpathu“//input[@value=OK]”。单击部分无效。。那么window.confirm上Ok按钮的元素类型是什么
browser = webdriver.Firefox()
browser.get("http://username:password@webpage/login.php")