inputs = driver.find_elements_by_tag_name('input')
for i in inputs:
if i.get_attribute('placeholder') =='邮箱帐号或手机号码':
i.send_keys('123456')
elif i.get_attribute('placeholder') =='输入密码':
i.send_keys('456789')
break
driver.find_element_by_id('dologin').click 方式三
由于126登录中,我尝试了用 get_attribute 方式来跳进,可是经过获得 frameborder="0" 这个元素名与值在 iframe 中跳进是不支持的,而且它的其他元素,比如 ID 是自增范例,那末我们在现实操纵中,假如存在很多iframe,但有些元素是唯一的,那末还是可以更便利一点,这里举例一号店登录方式中的QQ登录,以账户密码登录方式。
from selenium import webdriver
#实例化驱动
driver = webdriver.Chrome
#隐式期待
driver.implicitly_wait(20)
#翻开126登录页面:
driver.get('https://passport.yhd.com/passport/login_input.do')
#点击QQ登录
driver.find_element_by_class_name('iconfont').click
#句柄切换:
driver.switch_to.window(driver.window_handles[-1])
#跳进iframe方式三:先获得一切的iframe的标签名
iframes = driver.find_elements_by_tag_name('iframe')
for i in iframes:
#循环查找合适条件的那一组iframe
if i.get_attribute('width') =='370':
#跳进我想要跳进的iframe
driver.switch_to.frame(i)
#点击账号密码登录
driver.find_element_by_id('switcher_plogin').click 跳出 iframe
#跳出iframe: 回到默许的高低文
driver.switch_to.default_content 总结: