首页 > 其他分享 >selenium实操

selenium实操

时间:2024-08-14 09:06:59浏览次数:16  
标签:webdriver www selenium window 实操 dx print

一、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()  #点击按钮

python之selenium

一、链接、隐藏框

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()

标签:webdriver,www,selenium,window,实操,dx,print
From: https://www.cnblogs.com/fujintao/p/18358132

相关文章

  • selenium介绍
    一、认识selenim1、selenium的定义?selenium是python中第三方库,python语言进行封装的我们用的selenium2的版本2、selenium的作用?做ui自动化,(代替手工测试)3、ui自动化的优点?a、解决重复性工作b、节约时间c、节约人力成d、保证覆盖度4、什么项目适合做ui自动化?a、需求比较......
  • python之selenium基础知识
    内容总结自官方文档https://www.selenium.dev/documentation/SeleniumWebDriverWebDriver被设计为一个简单而简洁的编程接口。WebDriver是一个紧凑的面向对象API。它有效地驱动浏览器。Selenium通过使用WebDriver支持市场上所有主要浏览器的自动化。WebDriver定义了......
  • Python爬虫——Selenium方法爬取LOL页面
    文章目录Selenium介绍用Selenium方法爬取LOL每个英雄的图片及名字Selenium介绍Selenium是一个用于自动化Web应用程序测试的工具,但它同样可以被用来进行网页数据的抓取(爬虫)。Selenium通过模拟用户在浏览器中的操作(如点击、输入、滚动等)来与网页交互,并可以捕获网页的......
  • AI绘画实操 Stable Diffusion 到底怎么玩儿,新手必看的AI绘画入门安装使用教程
    大家好,我是灵魂画师向阳2024年,是AI绘画技术飞速发展的一年,各种AI绘画工具层出不穷,为了让大家在了解和学习AI绘画的过程中少走弯路,今天我将详细介绍目前世界上使用用户最多,社区最大,生态最丰富的免费图像生成模型——StableDiffusion,并为你提供详细的安装教程,让你轻松踏入AI......
  • 车载网络测试实操源码_使用CAPL脚本对CAN总线上的错误帧进行实时监控
    系列文章目录车载网络测试实操源码_使用CAPL脚本解析hex、S19、vbf文件车载网络测试实操源码_使用CAPL脚本对CAN报文的Counter、CRC、周期、错误帧进行实时监控车载网络测试实操源码_使用CAPL脚本模拟发送符合协议要求(Counter和CRC)的CAN报文车载网络测试实操源码_使用......
  • python+opencv+selenium自动化登录邮箱并解决滑动验证的问题
    本文主要讲解基于Python、OpenCV和Selenium的自动化登录邮箱并解决滑动验证问题。在这个过程中,我们需要特别注意页面元素的准确定位以及文本框和验证码的frame嵌套问题。感兴趣的朋友们一起来学习吧,让我们一起探索解决这个挑战的方法。前言大家在进行自动化登录时可能都......
  • Selenium + Python 自动化测试11(unittest组织用例)
            我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。上一篇我们讨论了unittest基本使用方法。        本篇文章我们接着讲。一些概念和一些常用的构造测试集的方法。1、基本概念1)TestCase        一个TestCase的......
  • Selenium + Python 自动化测试10(unittest概念)
            我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。上几篇我们讨论了元素的定位方法、操作方法以及一些特殊元素的操作。        在实际的测试项目组中每个模块会写多条案例,如第一条用例那里我们的登录。登录的话就可以有多条......
  • seleniumA
      importosimportunittestimportHTMLTestRunner#仅提供html文字报告importSTHTMLTestRunner#可提供带html的饼图及截图报告#用例路径case_path=os.path.join(".\\ljk_app")defall_case():runner1=unittest.defaultTestLoader.discover(case_path,......
  • selenium 反反爬-淘宝,美团
    1.反爬有时候,我们利用Selenium自动化爬取某些网站时,极有可能会遭遇反爬。实际上,我们使用默认的方式初始化WebDriver打开一个网站,下面这段JS代码永远为true,而手动打开目标网站的话,则为:undefined#通过这段JS脚本区分是爬虫还是人工操作window.navigator.webdriver2.......