selenium--iframe之模拟qq空间登录

前言

我在模拟登录qq的时候,发现无论如何都定位不了qq的“账号密码登录”,怎么都进不去qq的登录页面,如下图所示
在这里插入图片描述

分析

  1. 打开 https://qzone.qq.com/
  2. 然后点击二维码登录这块,背景出现了灰色,定位到iframe位置的时候,就说明iframe区域是整个登录区域
    在这里插入图片描述
  3. 左下角就是显示的iframe的一些属性,后面切换iframe的时候会用到这些属性

切换iframe

  1. 由于登录按钮是在 iframe 上,所以第一步需要把定位器切换到 iframe上
  2. iframe有专门的切换方法,switch_to_frame()
#coding:utf-8

import time
from selenium import webdriver

#=============================chromedriver.exe的位置===================================
driver = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
driver.get("https://qzone.qq.com/")
driver.implicitly_wait(10)

#====================此处是我用过的定位登录页面,然而没有成功=============================
#driver.find_element_by_xpath('//*div[@class="bottom hide]/a[@id="switcher_plogin"]').click()

#=============================切换到iframe上面=========================================
driver.switch_to_frame('login_frame')

#============================切换到登录页面后就常规登录就行=============================
driver.find_element_by_id('switcher_plogin').click()
driver.find_element_by_id('u').clear()
driver.find_element_by_id('u').send_keys('12345678')
driver.find_element_by_id('p').clear()
driver.find_element_by_id('p').send_keys('12345678')
driver.find_element_by_id("login_button").click()
time.sleep(5)

#后面验证码手动操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值