前提
- python 3
- selenium
- 网站:裁判文书网
- 网址:https://wenshu.court.gov.cn/
目标
- selenium模拟登录操作
- 验证登录是否成功
过程
- selenium 模拟登录
- 输入错误的用户名密码
- 找到登录错误的标志
- 页面提示一个用户名密码错误
- browser.page_source 也有 用户名密码错误
-
网页原代码也有 用户名密码错误
image.png
image.png
问题
message = self.browser.find_element_by_css_selector('div#message-box >div.message-content > span')
print(message.text)
无法打印出元素的值(用户名密码错误)
- 切换frame 不行
- 打印 元素的属性却可以,说明可以定位到元素
- 无法回去值是什么原因
解答

image.png
原因是:style="display: none;" 元素不展示
修改 style的值
self.browser.execute_script("arguments[0].style.display = 'block';", message)
修改后:style=display: block;
然后就可以打印出值(用户名或密码错误)
总结:
- 注意观察变量的值
- 尝试使用不同的办法

