我已经为网站编写了一个自动化脚本,当我传递凭据并点击提交时,页面会刷新,文本框中没有内容,它没有登录。手动执行相同的过程就可以了。
user = driver.find_element_by_xpath('//*[@id="txtUserID"]')
user.send_keys(user_id)
password_1 = driver.find_element_by_xpath('//*[@id="txtPassword"]')
password_1.send_keys(password)
submit_button = driver.find_element_by_xpath('//*[@id="btnLogin"]')
submit_button.click()
答案 0 :(得分:0)
根据您的陈述,甚至在使用密钥更新用户名和密码字段之前,您可能会单击提交按钮。尝试在两者之间添加延迟,以测试您的用户ID和密码是否已更新并在字段中可见。
或者,您可能有可能将用户ID和密码发送到错误的元素。
答案 1 :(得分:0)
肯定需要在元素上触发onChange
事件,因为有些元素有挂钩,如果没有触发事件,它认为里面没有数据:)
driver.executeScript("arguments[0].dispatchEvent(new Event('change'))", driver.find_element_by_xpath('//*[@id="txtUserID"]'));
或制作自定义sendkeys()方法然后用这个魔法里面,不要copypaste:)