selenium基本使用(一)

selenium基本使用

from selenium import webdriver #导入一个selenium 库中导入webdriver模块

在Python中做UI自动化:selenium'''

创建一个drvier对象用来调用打开浏览器,对浏览器实现操作

driver =webdriver.Chrome() #主讲谷歌浏览器

driver =webdriver.Ie()

driver =webdriver.firefox()

通过调用webdrvier.来引用对应的浏览器,生成一个浏览器对象

注意事项:webdrvier. 点后面的浏览器名称不要自己输入用联想

还有自己添加一个英文的小括号() 小括号的作用是:把它声明成为一个匿名对象 那么当前的drvier就是一个浏览器驱动对象,可以用它来

对对应的浏览器实现操作的动作

UI自动化所有的调用都必须在最前面加上一个drvier对象

通过对象来打开谷歌浏览器且输入网址

driver.get('http://www.baidu.com')

通过对象调用get方法来打开一个网站URL

一.打开窗口

(1)dx,.get 打开网站

from selenium import webdriver #导入selenium模块中的webdriver

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

(2)重开窗口打开页面

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(2)

w="window.open('https://www.baidu.com')"

dx.execute_script(w)

(3).时间等待

a.强制等待 sleep(xx) 必须等待n秒,n秒结束后必须执行下一步

b.隐性等待 implicitly_wait(xx) 最长等待时间,在n秒内运行结束后,可以在等待时间未结束前执行下一步,只要完成这一步就可以执行下一步

c.显性等待 WebDriverWait 程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException

案例:

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(5) #强制等待

dx.implicitly_wait(10) #隐式等待

WebDriverWait#显示等待

w="window.open('https://www.baidu.com')"

dx.execute_script(w)

三.页面刷新

dx.refresh() #刷新

代码:

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(2)

dx.refresh() #刷新

四.返回上一页,切换到下一页

dx.back() 返回上一也

dx.forward() #切换到下一页

图片

代码:

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(2)

dx.get("https://www.baidu.com")

time.sleep(2)

dx.back() #切换到上一页

time.sleep(2)

dx.forward() #切换到下一页

五.设置窗口

(1)窗口最大化

语句:dx.maximize_window()

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(2)

dx.maximize_window()

(2)设置窗口大小

dx.set_window_size(500,500)

代码:

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(2)

dx.maximize_window()

time.sleep(2)

dx.set_window_size(500,500)

六.截图

dx.get_screenshot_as_file(r"保存路径\截图名.png")

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

dx.get_screenshot_as_file(r"E:\az\f\aa.png")

七.quit 退出所有窗口 ,close关闭当前窗口

(1)quit

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(2)

w="window.open('https://www.baidu.com')"

dx.execute_script(w)

dx.quit()

(2)close 关闭当前拆窗口

from selenium import webdriver #导入selenium模块中的webdriver

import time

dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象

dx.get("过期更新") #通过get打开页面

time.sleep(2)

w="window.open('https://www.baidu.com')"

dx.execute_script(w)

time.sleep(2)

dx.quit()

dx.close()

相关推荐
霍格沃兹软件测试开发5 小时前
深入解析AppCrawler:开源自动遍历测试工具配置指南
测试工具·开源·自动化
zl218786544813 小时前
Playwright同步、异步、并行、串行执行效率比较
开发语言·python·测试工具
小熊出擊19 小时前
[pytest] autouse 参数:自动使用fixture
python·测试工具·单元测试·自动化·pytest
C++chaofan20 小时前
通过Selenium实现网页截图来生成应用封面
java·spring boot·后端·selenium·测试工具·编程·截图
卓码软件测评1 天前
第三方软件测试机构:Appium如何使用Selenium的客户端库?
功能测试·selenium·测试工具·性能优化·appium
北岛三生1 天前
Imatest-Wedge模块
图像处理·数码相机·测试工具·测试用例·模块测试
干就完事了1 天前
Edge 浏览器安装selenium
前端·selenium·edge
llm2009091 天前
UI自动化框架之Selenium简介(一)
python·selenium·ui·自动化
低音钢琴1 天前
JMeter中常用的配置优化
测试工具·jmeter