IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 软测05/16记录一下学习过程|selenium实例 -> 正文阅读

[Python知识库]软测05/16记录一下学习过程|selenium实例

2022/05/16学习内容
整理时间:2022/05/17
参考资料:https://www.bilibili.com/video/BV1NM4y1K73T?p=1&spm_id_from=333.851.header_right.history_list.click

selenium实例

7.浏览器的其它操作
manpi_browser.py
1)最大化
2)后退/前进/刷新
3)关闭当前页面
4)关闭浏览器

8.浏览器属性获取
manpi_browser.py
1)获取当前页面title
2)获取当前页面URL

# manpi_browser.py
from selenium import webdriver
import time
from selenium.webdriver.common.by import By

# 获取浏览器对象 webdriver
# 因为没有设置环境变量 所以在这里需要"chromedriver.exe"
driver = webdriver.Chrome("chromedriver.exe")

# 准备一个网址
# https://www.baidu.com/
url = "https://www.baidu.com/"
driver.get(url)

# 最大化浏览器
driver.maximize_window()

# 设置浏览器大小
# driver.set_window_size(800, 600)
# time.sleep(1)

# 设置浏览器位置
# driver.set_window_position(200, 200)
# time.sleep(3)

# 浏览器后退/前进/刷新
# 获取当前页面title
print(driver.title)
# 获取当前页面URL
print(driver.current_url)

driver.find_element_by_xpath("//*[@id='kw']").send_keys("python")
driver.find_element_by_xpath("//*[@id='su']").click()
time.sleep(3)

# 获取当前页面title
print(driver.title)
# 获取当前页面URL
print(driver.current_url)

# 后退
driver.back()
time.sleep(3)
# 获取当前页面title
print(driver.title)
# 获取当前页面URL
print(driver.current_url)

# 前进
# driver.forward()
# time.sleep(3)
# 刷新
# driver.refresh()
# time.sleep(3)

# 关闭当前页面
# driver.find_element(By.LINK_TEXT, "hao123").click()
# time.sleep(3)
# driver.close()
# time.sleep(3)

# 回收资源-关闭浏览器
driver.quit()

9.页面等待
wait_element.py
1)强制
2)显式
3)隐式

# wait_element.py
from selenium import webdriver
import time


# 获取浏览器对象 webdriver
# 因为没有设置环境变量 所以在这里需要"chromedriver.exe"
driver = webdriver.Chrome("chromedriver.exe")

# 准备一个网址
# https://www.baidu.com/
url = "https://www.baidu.com/"
driver.get(url)


driver.find_element_by_xpath("//*[@id='kw']").send_keys("python")
driver.find_element_by_xpath("//*[@id='su']").click()

# 代码执行速度 远快于页面加载速度
# 在翻页或者加载新页面时需要进行页面等待
# 等待方式三种

# 强制--time.sleep()--时间太短or时间太长
# time.sleep(5)

# 显式--需要导入的包过多,难记
# from selenium.webdriver.common.by import By
# from selenium.webdriver.support import expected_conditions as EC
# from selenium.webdriver.support.wait import WebDriverWait
# 等到某元素加载完成  每隔0.5秒检查一次  最多等待5秒
# WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.ID, "aging-total-page")))
# driver.find_element_by_xpath("//*[@id='aging-total-page']").click()

# 隐式--没有明确说明等待的元素--推荐使用
driver.implicitly_wait(10)
driver.find_element_by_xpath("//*[@id='1']").click()

time.sleep(3)

# 回收资源-关闭浏览器
driver.quit()

10.模拟鼠标操作
manpi_mouse.py

步骤:
1)创建ActionChains对象
2)点击操作:右击、悬停、双击、拖动等
3)perform()执行操作

# manpi_mouse.py
from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# 获取浏览器对象 webdriver
# 因为没有设置环境变量 所以在这里需要"chromedriver.exe"
driver = webdriver.Chrome("chromedriver.exe")

# 准备一个网址
# https://www.baidu.com/
url = "https://www.baidu.com/"
driver.get(url)
time.sleep(3)

chains = ActionChains(driver)
# 右击操作
# chains.context_click(driver.find_element_by_xpath("//*[@id='su']"))
# chains.perform()

# 悬停操作
# chains.move_to_element(driver.find_element_by_xpath("//*[@class='soutu-btn']"))
# chains.perform()

time.sleep(3)
# 回收资源
driver.quit()

11.模拟键盘操作
manpi_keyboard.py

# manpi_keyboard.py
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys

# 获取浏览器对象 webdriver
# 因为没有设置环境变量 所以在这里需要"chromedriver.exe"
driver = webdriver.Chrome("chromedriver.exe")

# 准备一个网址
# https://www.baidu.com/
url = "https://www.baidu.com/"
driver.get(url)

el = driver.find_element_by_xpath("//*[@id='kw']")
# 输入python
el.send_keys("python")
time.sleep(3)
# 全选
el.send_keys(Keys.CONTROL, "a")
time.sleep(3)
# 删除
el.send_keys(Keys.BACKSPACE)
time.sleep(3)
# 输入java
el.send_keys("java")
time.sleep(3)
# 全选
el.send_keys(Keys.CONTROL, "a")
time.sleep(3)
# 复制
el.send_keys(Keys.CONTROL, "c")
time.sleep(3)
# 粘贴
el.send_keys(Keys.CONTROL, "v")
time.sleep(3)

# 回收资源
driver.quit()

from selenium.webdriver.support.select import Select
select = Select(driver.find_element_by_xpath("//*[@id='selectA']"))
time.sleep(3)
# 下拉框内容选择
# 方法一:通过索引
select.select_by_index(3)
time.sleep(3)
# 方法二:通过值
select.select_by_value("bj")
time.sleep(3)
# 方法三:通过文本
select.select_by_visible_text("A广东")
time.sleep(3)

12.下拉框处理
select.py

1)概念:下拉框是select元素。其中的每个选项是option
2)选中下拉框选项方式:索引、值、文本

# select.py
import time
from selenium.webdriver.support.select import Select
# select = Select(driver.find_element_by_xpath("//*[@id='selectA']"))
# time.sleep(3)
# 下拉框内容选择
# 方法一:通过索引
# select.select_by_index(3)
# time.sleep(3)
# 方法二:通过值
# select.select_by_value("bj")
# time.sleep(3)
# 方法三:通过文本
# select.select_by_visible_text("A广东")
# time.sleep(3)

浏览器其他操作/属性获取+页面等待+模拟鼠标
模拟键盘+下拉款

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章           查看所有文章
加:2022-05-21 18:55:28  更:2022-05-21 18:57:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 15:34:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计