selenium实操

selenium定位

1、文本框(text)、密码(password)、按钮(button)、输入(send_keys)、点击(click)

案例:
http://cms.duoceshi.cn/manage/login.do 环境

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("http://cms.duoceshi.cn/manage/login.do") #通过对象打开浏览
dx.maximize_window()  #窗口最大化
dx.implicitly_wait(2) #时间等待2s
dx.find_element_by_id("userAccount").send_keys("admin") #输入账号
dx.implicitly_wait(2)#时间等待2s
dx.find_element_by_id("loginPwd").send_keys("123456") #输入密码
dx.implicitly_wait(2) ##时间等待2s
dx.find_element_by_id("loginBtn").click()  #点击按钮

一、链接、隐藏框

1、链接定位

案例:https://www.baidu.com/

查看a标签

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_link_text("hao123").click() #点击链接

2、隐藏框

(1)更多

from   selenium import  webdriver #导入selenium第三方库中webdriver
from selenium.webdriver.common.action_chains import ActionChains
from  time import  *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
wz=dx.find_element_by_link_text("更多") #更多位置
ActionChains(dx).move_to_element(wz).perform() #移动元素
sleep(2)
dx.find_element_by_link_text("学术").click()

(2)设置

案例1

from   selenium import  webdriver #导入selenium第三方库中webdriver
from  time import  *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.maximize_window()
dx.find_element_by_id("s-usersetting-top").click()
sleep(2)
dx.find_element_by_link_text("隐私设置").click()

案例2:

from   selenium import  webdriver #导入selenium第三方库中webdriver
from selenium.webdriver.common.action_chains import ActionChains
from  time import  *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
wz=dx.find_element_by_id("s-usersetting-top")
ActionChains(dx).move_to_element(wz).perform()
sleep(2)
dx.find_element_by_link_text("隐私设置").click()

一、获取文本、if断言、assert语句断言、获取抬头

1、获取文本

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
# wb=dx.find_element_by_link_text("登录").text  一种通过link_text方法
wb=dx.find_element_by_id("s-top-loginbtn").text  一种通过id方法
print(wb)

2、通过if语句断言

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
# wb=dx.find_element_by_link_text("登录").text
wb=dx.find_element_by_id("s-top-loginbtn").text
if  wb=="登录":
    print("ok")
else:
    print("no")

3、通过assert语句断言

如果assert语句通过,后面语句继续运行

如果assert语句不通过,直接报错

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
# wb=dx.find_element_by_link_text("登录").text
wb=dx.find_element_by_id("s-top-loginbtn").text
assert wb=="登录"
print("-----------")
print( "ok")

4、获取抬头

title

(1)获取当个页面的title

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
print(dx.title) #百度一下,你就知道

(2)存在覆盖的场景显示title

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
print(dx.title) #百度一下,你就知道
dx.get("https://www.jd.com/") #通过对象打开浏览
print(dx.title)#京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!

(3)重开窗口显示title

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
print(dx.title) #百度一下,你就知道
dx.execute_script("window.open('https://www.jd.com/')")
print(dx.title)#京东(JD.COM)-百度一下,你就知道

一、切换窗口

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
print(dx.title) #百度一下,你就知道
print(dx.current_window_handle)#获取当前窗口的句柄
dx.execute_script("window.open('https://www.jd.com/')")
print(dx.title)#京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!
print(dx.current_window_handle)#获取当前窗口的句柄
print(dx.window_handles) #获取所有窗口句柄

2、通过句柄切换拆窗口(两个窗口的索引0,1)

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
print(dx.title) #百度一下,你就知道
print(dx.current_window_handle)#获取当前窗口的句柄
dx.execute_script("window.open('https://www.jd.com/')")
print(dx.title)#京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!
print(dx.current_window_handle)#获取当前窗口的句柄
sy=dx.window_handles #获取所有窗口句柄
dx.switch_to.window(sy[1])  #通过索引切换句柄,切换窗口
print(dx.title)
dx.find_element_by_link_text("我的订单").click()

2、通过句柄切换拆窗口(三个窗口的索引0,2,1)

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
print(dx.title) #百度一下,你就知道
print(dx.current_window_handle)#获取当前窗口的句柄
dx.execute_script("window.open('https://www.jd.com/')")
print(dx.title)#京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!
print(dx.current_window_handle)#获取当前窗口的句柄
dx.execute_script("window.open('https://www.hao123.com/')")
print(dx.title)
print(dx.current_window_handle)#获取当前窗口的句柄
sy=dx.window_handles #获取所有窗口句柄
dx.switch_to.window(sy[2])
print(dx.title)
dx.find_element_by_link_text("我的订单").click()

3、通过for循环来切换窗口

from   selenium import  webdriver #导入selenium第三方库中webdriver
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
print(dx.title) #百度一下,你就知道
print(dx.current_window_handle)#获取当前窗口的句柄
dx.execute_script("window.open('https://www.jd.com/')")
print(dx.title)#京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!
print(dx.current_window_handle)#获取当前窗口的句柄
dx.execute_script("window.open('https://www.hao123.com/')")
print(dx.title)
print(dx.current_window_handle)#获取当前窗口的句柄
sy=dx.window_handles #获取所有窗口句柄
for  i in  sy: #遍历所有句柄
    dx.switch_to.window(i) #切换句柄
    if "京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!" in dx.title:
        break
dx.find_element_by_link_text("我的订单").click()

posted @ 2024-08-14 09:03  藕丝鲜芋  阅读(34)  评论(0)    收藏  举报