当前位置: 首页 > news >正文

专做机械零配件的网站江门网站优化公司

专做机械零配件的网站,江门网站优化公司,网站友情链接如何做,网站开发需求分析包括哪些方面文章目录 1.八大元素定位2.元素基本操作3.浏览器常用操作4.获取元素信息的常用方法5.鼠标和键盘相关操作6.元素等待1.隐式等待2.显示等待 7.下拉选择框8.弹出框9.滚动条操作10.frame表单的切换11.多窗口切换12.窗口截图、验证码处理 1.八大元素定位 元素属性定位:id…

文章目录

  • 1.八大元素定位
  • 2.元素基本操作
  • 3.浏览器常用操作
  • 4.获取元素信息的常用方法
  • 5.鼠标和键盘相关操作
  • 6.元素等待
    • 1.隐式等待
    • 2.显示等待
  • 7.下拉选择框
  • 8.弹出框
  • 9.滚动条操作
  • 10.==frame表单的切换==
  • 11.==多窗口切换==
  • 12.==窗口截图、验证码处理==

1.八大元素定位

 元素属性定位:id、name、class_name元素标签定位:tag_name超链接定位:link_text、paratial_link_text元素路径定位:XPathcss选择器定位:CSS

1.如果一次性定位一组元素,用find_elements,使用find_element会报错

2.元素基本操作

1.点击:click()
2.输入内容:send_keys()
3.清除:clear()

3.浏览器常用操作

1.浏览器最大化:maximize_window()
2.设置浏览器窗口大小:set_window_size(weigth,height)
3.设置浏览器窗口位置:set_window_position(x,y)
4.浏览器后退:back()
5.浏览器前进:forword()
6.浏览器刷新:refresh()
7.关闭当前窗口:close()   关闭的一般是主窗口
8.关闭驱动对象:quit()
9.获取页面title:title  获取的一般是主页面
10.获取当前页面的url:current_url   获取的一般是主页面

不切换窗口时,7 9 10都是操作的主窗口

4.获取元素信息的常用方法

1.获取元素大小:size
2.获取元素文本:text
3.获取属性值:get_attribute("xxx")   传递的参数是元素的属性名   判断一组元素是否是我们想要的值

在特殊应用场景中使用:

4.判断元素是否可见:is_displayed()  例如:element.is_display()
5.判断元素是否可用:is_enabled()   是否可以点击
6.判断元素是否被选中:is_selected()    用来检查复选框或者单选框的按钮是否被选中

5.鼠标和键盘相关操作

在selenium中将鼠标相关的操作封装在ActionChains,这些操作必须结合perform()执行
action = ActionChains(driver)

1.点击:click()
2.右击:context_click(element)
3.双击:double_click(element)
4.悬停:move_to_element(element)
5.拖拽:drag_and_drop(source,target)
6.执行:perform()

键盘相关操作:
selenium将键盘相关的操作都封装在Keys类中

1.删除键:send_keys(Keys.BACK_SPACE)   BackSpace
2.空格键:send_keys(Keys.SPACE)
3.制表键:send_keys(Keys.TAB)
4.回退键(ESC):send_keys(Keys.ESCAPE)
5.回车键:send_keys(Keys.ENTER)
6.全选:send_keys(Keys.CONTROL,'a')
7.复制:send_keys(Keys.CONTROL,'c')
8.上传文件:send_keys(上传文件的路径)

6.元素等待

1.为什么要设置元素等待?
由于电脑配置原因或者网络配速问题,在查找元素时未被第一时间加载出来,会抛出未找到该元素的异常


2.什么是元素等待?
元素在第一次未被找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素就会继续执行代码,否则抛出未找到元素异常

1.隐式等待

隐式等待方法:

driver.implicitly_wait(timeout)

1.隐式等待是全局设置,设置一次应用于全局
2.一般情况下是前置必写代码

2.显示等待

selenium把显示等待的相关操作封装在WebDriverWait类中

WebDriverWait(driver,timeout,poll_frequency)
1.driver:浏览器驱动对象
2.timeout:超时的时长
3.poll_frequency:检测间隔的时间,默认是0.5s
element = WebDriverWait(driver,10,1).until(lambda x:x.find_element(By.ID,"ID"))

7.下拉选择框

标签:<select>

1.通过css定位(直接定位option)
2.通过使用select类来控制(控制父类)

select= Select(element)
select.by_index()  下标,从0开始
select.by_value()  根据value定位
select.by_visible_text(text) 根据文本定位

注意:
1.实例化select时,需要参数为select标签元素
2.调用select类下面的的方法,只通过索引、value属性值、显示文本去控制的,不需要click事件

8.弹出框

1.alert:警告框
2.confirm:确认框
3.prompt:提示框

对弹出窗一定要进行处理接下来的代码才能够运行,否则接下来的代码不生效
如何处理对话框?

1.获取弹出窗对象:alert = driver.switch_to.alert
alert.text:返回alert/confirm/prompt中的文字信息
alert.accept():接收对话框选项
alert.dismiss():取消对话框选项

9.滚动条操作

应用场景:页面注册同意条款,滚动条滚到最后才能点击同意

1.js = "windows.scrollTo(0,10000)"  先设置js控制滚动条语句  0:左边距;10000:上边距
2.driver.execute_script(js)  调用js执行代码

10.frame表单的切换

常见frame表单:frame、iframe两种
为什么要切换frame表单?

当同一个页面有很多表单时,浏览器无法主动从一个表单切换到另一个表单

如何切换frame表单?

1.driver.switch_to.frame(frame_reference)frame_reference:可以为frame框架的name、id或者定位到的frame元素(iframe)
2.driver.switch_to.default_content()   --->恢复默认页面的方法  因为切换语句只有在主目录才有用

注意:从一个子frame表单切换到另一个子frame表单时要先恢复到默认页面,否则报错

11.多窗口切换

为什么要切换窗口?
selenium默认情况下只会在主窗口,如果不切换窗口,那么浏览器无法操作除了主窗口以外的窗口内的任何元素
如何切换窗口?

在selenium中封装了获取当前窗口的句柄、获取所有窗口的句柄和切换到指定窗口句柄的方法:
(句柄是窗口的唯一识别码)
1.driver.current_window_handle        -->获取当前窗口的句柄
2.driver.window_handles      -->获取所有窗口句柄
3.driver.switch_to.window(handle)  -->切换到指定窗口句柄

12.窗口截图、验证码处理

窗口截图:

driver.get_screenshot_as_file(imgpath)imgpath:图片保存的路径  ./pic.png :保存在当前目录下,且图片名称为pic.png../image/pic1.png:保存在上级目录的image文件夹下,且图片名称是pic1.png

随机生成文件名:

driver.get_screenshot_as_file("../image/%s.png"%(time.strftime("%Y_%m_%d %H_%M_%s")))
strftime:将时间转换成字符串函数

应用场景:多条case测试失败,可以使用时间戳的形式进行截图

验证码:
防止恶意请求
注:selenium没有对验证码的处理方法
常见的验证码处理方式:

1.去掉验证码(测试环境采用)
2.设置万能的验证码(生产环境和测试环境)
3.验证码识别技术(通过py-tesseract来识别图片验证码;识别率很难)
4.记录cookie(通过记录cookie进行跳过登录)推荐使用

selenium操作cookie:

1.get_cookie(name)  -->获取制定cookie  name是cookie
2.get_cookies()   -->获取本网站所有的本地cookies
3.add_cookie(cookie_dict)   -->添加cookiecookie_dict:一个字典对象,必选键包括:name、value
http://www.hkea.cn/news/256353/

相关文章:

  • 网站后台维护怎么做seo专员工资一般多少
  • 中国网站推广黄页名录微商推广哪家好
  • 哈尔滨网站开发电话电商培训基地
  • 如何用php数据库做网站搜索seo优化托管
  • 中国城乡建设部人力网站首页优化落实疫情防控
  • 做网站到底能不能赚钱网络优化工程师前景
  • 乌镇网站建设标书百度站长工具域名查询
  • 制作公司网站价格腾讯广告代理商加盟
  • 大学生活动网站开发文案苏州seo门户网
  • 阿里云认证网站建设题库seo助理
  • 凤岗网站仿做靠谱seo外包定制
  • xampp安装wordpress说明徐州seo外包
  • 啥网站都能看的浏览器下载百度收录查询工具
  • 福田附近公司做网站建设哪家效益快奶糖 seo 博客
  • 临沂免费自助建站模板品牌整合营销
  • iis做本地视频网站找客户资源的网站
  • 做调查用哪个网站网络推广有多少种方法
  • 开发一个交易网站多少钱在线工具
  • 网站平台怎么建立的软文范例
  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设