python selenium 无法获取元素的值

前提

目标

  • 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;

然后就可以打印出值(用户名或密码错误)

总结:

  • 注意观察变量的值
  • 尝试使用不同的办法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容