selenium_模拟登陆

import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait #事件循环, 不断的去检测
from selenium.webdriver.support import expected_conditions as EC #提供给我们的一些事件(包括事件有没有加载出来)
from selenium.webdriver.common.by import By #做表定位

#打开一个浏览器
dirver = webdriver.Chrome()
dirver.get('https://www.weibo.com')
dirver.maximize_window() #最大化

#显示等待
wait = WebDriverWait(dirver,20,0.5) #三个参数 1、dirver 对象 ,2、超时的时间20秒, 3、0.5秒刷新

try:
#等待两个数据框的加载, 一般用id 或者xpath
wait.until(EC.presence_of_all_elements_located((By.ID,'loginname'))) #根据id寻找
wait.until(EC.presence_of_all_elements_located((By.XPATH,'//*[@id="pl_login_form"]/div/div[3]/div[2]/div/input'))) #根据xpath

#加载完数据框以后, 然后输入
username = dirver.find_element_by_id('loginname') #定位账号数据框
username.clear() #清除以前的账号
username.send_keys('18082539819') #输入账号
time.sleep(5)


passwork = dirver.find_element_by_xpath('//*[@id="pl_login_form"]/div/div[3]/div[2]/div/input')
passwork.clear()
passwork.send_keys('25257758')
time.sleep(5)
dirver.find_element_by_xpath('//*[@id="pl_login_form"]/div/div[3]/div[6]/a').click()
except Exception as e:
print(e)
finally:
time.sleep(10)
dirver.close()


posted on 2018-05-15 15:32  袁佳佳  阅读(278)  评论(1编辑  收藏  举报

导航