链接:https://pan.baidu.com/s/1WFll6XsZp7ZXEZFRQv5ZOw
提取码:6p3h
复制这段内容后打开百度网盘手机App,操作更方便哦
我们之前学习了3种等待,现在我们把它综合使用起来。
1)点击登录找到元素,执行点击操作click()
//a[@name='tj_login']
driver.find_element_by_classname('tj_login')
driver.find_element_by_xpath(//div[@id="u1"]//a[@name="tj_login"]).click()
2等待弹框出现,找到用户名登录,执行点击操作
用等待的任意一致一种(显性,隐性,强制等待)
//p[@id='TANGRAM__PSP_10__footerULoginBtn']
driver.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn').click()
3等待元素出现,定位输入账号框
用等待的任意一致一种(显性,隐性,强制等待)
//input[@id='TANGRAM__PSP_10__userName']
driver.find_element_by_id('TANGRAM__PSP_10__userName').get_keys(‘18711324536’)
4)定位输入密码框元素
//input[@id='TANGRAM__PSP_10__password']
driver.find_element_by_id('TANGRAM__PSP_10__password').get_keys(‘1234abcd’)
5)输入完毕后,找到登录的元素,执行点击操作
//input[@id='TANGRAM__PSP_10__submit']
driver.find_element_by_id('TANGRAM__PSP_10__submit').click
简单的代码如下(强制等待)
# 简单的代码如下(强制等待)
# 引入包
from selenium import webdriver
#引入python时间模块
import time
#打开谷歌浏览器,注意谷歌第一个字母
driver = webdriver.Chrome()
#访问百度首页
driver.get("百度一下,你就知道")
#点击首页的登录,元素不能唯一定位到,要结束上级爸爸//div[@id="u1"]
driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_login"]').click()
#等待两秒等待元素可见
time.sleep(2)
#登录页出现选择账号密码登录
driver.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn').click()
#等待元素出现
time.sleep(1)
#输入账号
driver.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('18713302579')
#输入密码
driver.find_element_by_id('TANGRAM__PSP_10__password').send_keys('1234abcd')
#点击登录
driver.find_element_by_id('TANGRAM__PSP_10__submit').click()
# #关闭此页面
driver.close()
#关闭浏览器
driver.quit()
# 简单的代码如下(隐性等待)
# 引入包
from selenium import webdriver
#引入python时间模块
import time
#打开谷歌浏览器,注意谷歌第一个字母
driver = webdriver.Chrome()
#隐性等待:
driver.implicitly_wait(30)
#访问百度首页
driver.get("百度一下,你就知道")
#点击首页的登录,元素不能唯一定位到,要结束上级爸爸//div[@id="u1"]
driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_login"]').click()
#登录页出现选择账号密码登录
driver.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn').click()
#输入账号
driver.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('18710312579')
#输入密码
driver.find_element_by_id('TANGRAM__PSP_10__password').send_keys('1234abcd')
#点击登录
driver.find_element_by_id('TANGRAM__PSP_10__submit').click()
# #关闭此页面
driver.close()
#关闭浏览器
driver.quit()
# 简单的代码如下(显性等待)
# 引入包
from selenium import webdriver
#引入python时间模块
import time
#引入只能等待模块
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
#打开谷歌浏览器,注意谷歌第一个字母
driver = webdriver.Chrome()
#访问百度首页
driver.get("百度一下,你就知道")
#点击首页的登录,元素不能唯一定位到,要结束上级爸爸//div[@id="u1"]
driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_login"]').click()
#登录页账号密码出现选择账号密码登录
# 只能等待10秒,每0.5秒看一下是否成功
locator = ( By.ID,"TANGRAM__PSP_10__footerULoginBtn")
WebDriverWait(driver,10,0.5).until(EC.visibility_of_element_located(locator))
driver.find_element_by_id("TANGRAM__PSP_10__footerULoginBtn").click()
#点击登录页的账号密码登录
locator = (By.ID,"TANGRAM__PSP_10__userName")
WebDriverWait(driver,10,0.5).until(EC.visibility_of_element_located(locator))
#输入账号
driver.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('18711312579')
#输入密码
driver.find_element_by_id('TANGRAM__PSP_10__password').send_keys('xu7869413')
#点击登录
driver.find_element_by_id('TANGRAM__PSP_10__submit').click()
# #关闭此页面
driver.close()
#关闭浏览器
driver.quit()