多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

用Selenium分析qq空间数据-自动化测试

更新时间:2022-03-28 09:14:30 作者:多测师 浏览:160

  最近突然想分析一下qq空间里面的数据,增加一下对自己的了解和认识,但不过 qq 的加密比较复杂,分析起来头发怕是要掉一半,所以咱选择了 selenium 反正数据量也不是很大,就当练练手了。

用Selenium分析qq空间数据-自动化测试

  安装 selenium 及相关配置

  pip install selenium

  可以通过这条命令来安装 selenium 非常简单,安装好之后就是配置好相关浏览器的 driver 了,这里我选择的是 chromedriver 不过安装的时候要注意一个问题,就是安装的 driver 要和自己已安装的浏览器匹配,咱之前安装的时候就因为没有注意这个问题,报了一个莫名其妙的错误,具体处理方式参考这篇博客:selenium 使用chrome时与chromedriver版本不匹配的问题

  使用 selenium

  先导入这个包

  from selenium import webdriver

  然后,初始化一个 browser

  browser = webdriver.Chrome(executable_path="/code/python/chorme/chromedriver")

  这个路径,如果不是已经添加到系统路径的话,是需要自己加上的

  接着,咱通过初始化好的这个浏览器,去请求我们的 qq 空间的登录界面

  browser.get('https://i.qq.com/')

  大家可以看到,我们的登录信息是在一个白色框框内的,按正常情况,我们人为登录的时候( 这里说的是账号密码登录 ),一般是先点击一下下方的 “账号密码” 登录,然后会有一个提交信息的表单。

  现在我们用 selenium 其实是跟人为差不多,selenium 其实就是模拟出人在浏览器上的操作。

  所以我们现在要做的,就是切换到这个登录的 frame 中,然后点击一下这个 “账号密码登录” ,再在用户名和密码的表单中填入相应的 qq 号和密码,这个用代码怎么实现呢?一起来看一下:

  browser.switch_to_frame('login_frame')

  browser.find_element_by_id('switcher_plogin').click()

  # time.sleep(5)

  browser.find_element_by_id('u').send_keys('qq 号')

  browser.find_element_by_id('p').send_keys('密码')

  browser.find_element_by_id('login_button').click()

  time.sleep(5) #休眠一定时间,等待其加载相应文件

  print(browser.page_source)

  如果报了找不到元素的错误,可能是登录的元素发生了修改,大家打开开发者模式开一下,稍作修改即可,其实,如果你怕麻烦的话,可以用用手机版的接口,能直接通过表单提交数据。

  自此,你应该已经成功登录了 qq 空间,不过在这里本人还碰到了一个问题,每次点击某个按钮后,应该设置程序睡眠一定时间,好像是要等待加载某些文件,反正咱在点击 login_button 后直接打印了一下页面信息得到的是错误登录信息。

  以上内容为大家介绍了自动化测试中的用Selenium分析qq空间数据,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部