首页 > 其他分享 >Selenium11--浏览器基本操作

Selenium11--浏览器基本操作

时间:2022-12-12 23:44:26浏览次数:37  
标签:webdriver 浏览器 -- Selenium11 driver sleep import print 基本操作

浏览器基本操作

  • Selenium WebDriver提供各种有用的方法来控制浏览器
  • 常见的浏览器基本操作分类:
    • 浏览器导航操作
    • 调整浏览器窗口大小操作
    • 获取窗口里网页信息

浏览器导航操作

"""
    打开留言板页,等待3秒
    点击"高级搜索",等待3秒
    后退,等待3秒
    前进,等待3秒
    地址栏输入登录页的网址来进行访问,等待3秒
    后退,等待3秒
    关闭浏览器。
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/message.php') # 打开留言板页
sleep(3)
driver.find_element(By.LINK_TEXT,'高级搜索').click() # 进入高级搜索页
sleep(3)
driver.back() # 返回到留言板页
sleep(3)
driver.forward() # 前进到高级搜索页
sleep(3)
driver.get('http://localhost/upload/user.php') # 打开登录页
sleep(3)
driver.back() # 后退到高级搜索页
sleep(3)
driver.quit() # 关闭浏览器

刷新页面处理

"""
	进入首页,点击高级搜索,用关键字806搜索后,点击结果里的P806
"""
from selenium import webdriver
from time import sleep
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/index.php') # 打开首页
driver.find_element(By.LINK_TEXT,'高级搜索').click() # 进入高级搜索页
driver.find_element(By.ID,"keywords").send_keys('806')
driver.find_element(By.XPATH,"/html/body/div[7]/div[2]/div[1]/div/div/form/table/tbody/tr[7]/td/input[2]").click()
while True:
    try:
        driver.find_element(By.LINK_TEXT, 'P806')
    except NoSuchElementException:
        driver.refresh()
    else:
        driver.find_element(By.LINK_TEXT,'P806').click()
        break
driver.quit() # 关闭浏览器
"""
注解:
	应用场景:网页加载不出来,需要刷新网页
	功能说明:
		如果找不到元素,就刷新网页,如果找到,就操作它
		持续刷新网页,直到找到元素能操作位置
"""

调整浏览器窗口大小操作

Selenium WebDriver提供了各种有用的方法来控制浏览器

"""
  打开打开留言板页,等待3秒
  把浏览器窗口最小化,等待3秒,打印窗口大小尺寸中宽和高
  把浏览器窗口最大化,等待3秒,打印窗口大小尺寸中宽和高
  自定义浏览器窗口大小,把窗口设置为宽度600px和高度400px,等待3秒,打印窗口左上角位置坐标
  自定义浏览器窗口位置,把窗口左上角坐标设置为(50px,50px),等待3秒,打印窗口左上角位置坐标
  关闭浏览器。

"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/message.php') # 打开留言板
driver.minimize_window() # 最小化
dict1 = driver.get_window_size()
print(dict1)
print(f'宽度是{dict1["width"]}')
print(f'高度是{dict1["height"]}')
driver.maximize_window() # 最大化
dict2 = driver.get_window_size()
print(dict2)
print(f'宽度是{dict2["width"]}')
print(f'高度是{dict2["height"]}')
driver.set_window_size(600,400) # 指定宽度,高度
dict3 = driver.get_window_position() # 获取坐标
print(dict3)
print(f'x是{dict3["x"]}')
print(f'y是{dict3["y"]}')
driver.set_window_position(50,50) # 指定坐标,x,y
dict4 = driver.get_window_position() # 获取坐标
print(dict4)
print(f'x是{dict4["x"]}')
print(f'y是{dict4["y"]}')
driver.quit()

获取窗口里网页信息

获得网页信息通过获得属性值实现:

"""
	打开首页,获得标题,URL,网页源代码
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/index.php')
t = driver.title # 获得网页标题
print(t)
u = driver.current_url # 获取当前的URL
print(u)
p = driver.page_source # 获得页面源代码
print(p)
driver.quit()

标签:webdriver,浏览器,--,Selenium11,driver,sleep,import,print,基本操作
From: https://www.cnblogs.com/sean-test/p/16977471.html

相关文章

  • Prometheus+Grafana+alertmanager+ 邮件 +钉钉告警
    Prometheus+Grafana+alertmanager+邮件+钉钉告警本文模拟生产环境一ansible部署ansbile部署在线安装yuminstallansible-y离线安装#离线环境,提前在有网络的服......
  • IDEA上运行Flink任务
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demosIDEA是常用的IDE,我们编写的flink任务代码如果能直接在IDEA运行,......
  • Python基础之文件操作
    一、文件操作的作用把⼀些内容(数据)存储存放起来,可以让程序下⼀次执⾏的时候直接使⽤,⽽不必重新制作⼀份,省时省⼒。二、⽂件的基本操作1、⽂件操作步骤1.打开⽂件2.读写......
  • 【ArkUI】对于Flex布局与基础组件&&声明式UI-组件封装&&父子组件相互绑定的运用【Open
    一.Flex布局与基础组件Flex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。1.先规定弹性布局的大小,设置为百......
  • MySQL的事务
    MySQL事务MySQL事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,......
  • 2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
    1、下载maven官网:​​https://maven.apache.org/download.cgi​​​下载:​​apache-maven-3.8.6-bin.tar.gz​​2、创建放置maven的文件夹统软件统一放置到​​/usr/loca......
  • C/C++小商品信息管理系统设计与实现
    C/C++小商品信息管理系统设计与实现设计一个小商品信息管理系统。根据以下功能,分析使用的逻辑结构和存储结构。(1)增加功能:能录入新数据(包括:商品名称、商品编号、厂家、库......
  • Bug管理与跟踪
    缺陷的管理与跟踪1:缺陷的定义缺陷不光是产品出现bug,宕机等情况才叫缺陷,缺陷还包括当产品不满足用户需求时也叫缺陷还有当测试用例的预期结果于实际结果,不相同时也叫缺陷......
  • Flink1.9.2源码编译和使用
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos为什么要编译flink源码用于学习,在IDEA上开发的flinkjob,能直接......
  • 脑筋急转弯-2498. 青蛙过河 II
    2498.青蛙过河IIDescriptionDifficulty:中等RelatedTopics:给你一个下标从0 开始的整数数组 stones ,数组中的元素 严格递增 ,表示一条河中石头的位置。一只......