今天学习selenium时遇到一个问题,在登陆一个网站时,输入用户密码后,用click()点击登陆,在火狐上能够正常执行,但是在IE上确点击不了(也没有报错)。
代码如下:
self.driver.find_element_by_id('UserAccount').send_keys('aaa')
self.driver.find_element_by_id('UserPwd').send_keys('12345')
asd = self.driver.find_element_by_id('fm_locallogin')
asd.find_element_by_xpath('//*[@id="fm_locallogin"]/ul/li[3]/button').click()
在百度之后,看到很多帖子都是介绍使用submit(),按照网上方法修改代码后提示密码错误,用wireshark抓包后发现POST请求提交的为明文密码,没有经过加密,手动替换为加密后的密码执行成功。代码如下:
self.driver.find_element_by_id('UserAccount').send_keys('aaa')
self.driver.find_element_by_id('UserPwd').send_keys('**cGFzc3dvcmQx**')
***有没有大佬能讲解一下这里,用submit()为什么没有加密***
此外,用回车也可实现登陆,代码如下:
from selenium.webdriver.common.keys import Keys
self.driver.find_element_by_id('UserAccount').send_keys('aaa')
self.driver.find_element_by_id('UserPwd').send_keys('12345')
self.driver.find_element_by_xpath('//*[@id="fm_locallogin"]/ul/li[3]/button').send_keys(Keys.ENTER)