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

相关推荐
goodesocket13 小时前
手机LPDDR芯片测试座厂商适配性强
测试工具
ClouGence21 小时前
自动化测试,如何让每个用例都保持登录状态?
selenium·测试
ClouGence21 小时前
手动测试工程师有必要学自动化测试吗?手工测试还有前途吗?
selenium·测试·求职
小小测试开发1 天前
Playwright vs Selenium vs Cypress:从浏览器协议到 API 设计的全面对比与实测
人工智能·selenium·测试工具
我的xiaodoujiao2 天前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
川石课堂软件测试2 天前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
一孤程2 天前
Pytest+Selenium搭建自动化框架-保姆级实战教程
selenium·自动化·pytest
天才测试猿3 天前
Selenium自动化测试网页加载太慢怎么解决?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
李宸净4 天前
Web自动化测试selenium+python
前端·python·selenium
川石课堂软件测试4 天前
安全测试|服务器安全加固方法
服务器·功能测试·测试工具·jmeter·mysql·web安全·单元测试