web常用操作和定位方法

1. 浏览器的常用操作:   1> 访问某个页面:页面:driver.get(‘ht(‘t(‘http://www.baidu.com‘)   2> 最大化窗口:窗口:driver.maximize_win_window()   3> 返回上一个页面:页面:driver.back()   4> 前进到下一个页面:页面:driver.forward()   5> 涮新页面:页面:driver.refresh()   6> 获取页面的url:rl:driver.current_url_url   7> 获取页面的标题:标题:driver.title   8> 获取句柄:句柄:driver.current_win_window_handle,唯一标识一次会话窗口的ID   9> 关闭当面页面:driver.close()   10> 退出整个会话:driver.quit()    **注意:一个会话可能包括几个页面,退出整个会话,即整个浏览器的退出**     11>设置长和高的窗口:窗口:driver.set_win_window_size(‘800‘,‘600‘)     ```python     import time     from selenium import webdriver

#开启了一个与浏览器之间的会话     driver =  = webdriver.Chrome()

#最大化窗口     #driver.maximize_win_window()     #设置长和高的窗口     driver.set_win_window_size(‘800‘,‘600‘)

#访问百度     driver.get(‘ht(‘t(‘http://www.baidu.com‘)     #访问谷歌     driver.get(‘ht(‘t(‘https://www.google.com‘)

#返回上一个页面     time.sleep(2)     driver.back()

#前进到下一个页面     time.sleep(2)     driver.forward()

#涮新当前页面     time.sleep(2)     driver.refresh()

#获取当前页面的url     print(nt(driver.current_url_url)

#获取当前页面的标题     print(nt(driver.title)

#获取当前页面的句柄     print(nt(driver.current_win_window_handle)

#关闭窗口     time.sleep(2)     driver.quit() 

```2. web页面包含元素(标签),属性,事件(元素的操作),有属性和操作即可以构成一个类,这个类为WebElement类,代表一个DOM元素    3. <span class="bg s_ipt_wr quickdelete-wrap"></span>:表示span元素有3个class值(各值是以一个空格隔开),定位时只能取一个值     3. web元素的8种元素定位方式,返回的都是一个WebElement类的对象,即元素对象(元素实例)   1> id:绝对唯一,如一,如driver.find_ele_element_by_id(‘kw‘)   **动态id不能通过id定位,只在静态id才能通过id定位**     2> 元素name属性:并不绝对不唯一        a> driver.find_ele_element_by_name(‘wd‘) :若有多个元素的name属性值为wd,那么直接获取第一个     b> driver.find_ele_elements_by_name(‘wd‘) :返回列表,获取所有元素的name属性值为wd的元素   3> 元素的class属性,若元素的class值有多个(各值是以一个空格隔开),定位时只能取一个值,则否会报错Message: invalid selector: Compound class names not permitted       a> driver.find_ele_element_by_class_name(‘s_ipt_wr‘):若有多个元素的class属性值为s_ipt_wr,那么直接获取第一个          b> driver.find_ele_elements_by_class_name(‘s_ipt_wr‘):返回列表,获取所有元素的class属性值为s_ipt_wr的元素       **若元素的class值有多个(各值是以一个空格隔开),通过by_class_name定位时只能取一个值,则否会报错**     4> 元素的标签名,并不绝对唯一       a> driver.find_ele_element_by_tag_name(‘input‘)     b> driver.find_ele_elements_by_tag_name(‘input‘)   **3>和4>方法使用不多,如在需要获取某一类数据时可以使用**     5> ,6> 针对a元素,通过链接的文本内容来定位元素,有完全匹配和部分匹配      a> driver.find_ele_element_by_link_text(‘新闻‘):完全匹配链接的文本内容         b> driver.find_ele_element_by_partial_link_text(‘新‘):部分匹配链接的文本内容      ```python   import time      from selenium import webdriver

#开启了一个与浏览器之间的会话      driver =  = webdriver.Chrome()

#最大化窗口         driver.maximize_win_window()

#访问百度         driver.get(‘ht(‘t(‘http://www.baidu.com‘)

#1. id,绝对唯一      # ele_id =  = driver.find_ele_element_by_id(‘kw‘) #返回的是一个WebElement类的对象,即元素对象      # print(ele_id)  #元素对象      # print(ele_le_id.get_att_attribute(‘class‘))  #获取元素class属性的值      # print(ele_le_id.tag_nam_name)  #获取元素的标签名

#2.元素name属性,并不绝对唯一      # ele_name =  = driver.find_ele_element_by_name(‘wd‘) #若有多个元素name值为wd,那么直接获取第一个      # eles_name =  = driver.find_ele_elements_by_name(‘wd‘) #返回列表:获取所有name值为wd的元素      # print(ele_name)      # print(eles_name)

#3.元素的class属性,并不绝对唯一,若元素的class值有多个(各值是以一个空格隔开),定位时只能取一个值,则否会报错Message: invalid selector: Compound class names not permitted      # ele_class =  = driver.find_ele_element_by_class_name(‘s_ipt_wr‘)      # eles_class =  = driver.find_ele_elements_by_class_name(‘s_ipt_wr‘)      # print(ele_class)      # print(eles_class)

#4.元素的标签名,并不绝对唯一      # ele_tag =  = driver.find_ele_element_by_tag_name(‘input‘)      # eles_tag =  = driver.find_ele_elements_by_tag_name(‘input‘)      # print(ele_tag)      # print(eles_tag)

#5. 6. 针对a元素,通过链接的文本内容来定位元素,有完全匹配和部分匹配      # ele_link =  = driver.find_ele_element_by_link_text(‘新闻‘)       # ele_part_link =  = driver.find_ele_element_by_partial_link_text(‘新‘)       # print(ele_link)       # print(ele_part_link)       ```      7> xpath(重点掌握)          a> 绝对定位:以/开头,前后元素为父子关系,缺点太依赖元素之间的层级关系,一点变动就会导致定位不到             b> 相对定位:以//开头,在页面当中,有没有这个元素,无关元素的位置和第几代,语法//[@属性名=属性值],如//input[@id=‘kw‘]        

原文地址:https://www.cnblogs.com/quiet-sun/p/9751913.html

时间: 2024-10-24 14:20:45

web常用操作和定位方法的相关文章

Web端自动化元素定位方法

版本迭代周期越来越短?需求越来越多?测试工作量越来越大?怎么保证质量?怎么保证上线周期? 随着互联网的快速发展,越来越多的测试人员遇到上述所说的问题.如何实现既提高测试效率和覆盖率,又节约测试成本,是每一个企业追求的目标.为了解决上述的问题,越来越多的公司开始加入自动化测试.以下是一些常用的定位方法介绍 一.常用方法 1)通过class属性定位 driver.findElement(By.className("spread")).sendKeys("你好"); 2)

元素操作、定位方法,鼠标,键盘事件

常用定位方法有: id name class name tag name link text partial link text xpath css selctor 对应的方法: find_element_by_id("kw") find_element_by_name("name") find_element_by_class_name("name") find_element_by_tag_name("input") fi

CSS常用背景图片定位方法

CSS背景图片定位其实对于每一位学习前端的同学来说,都已经非常熟悉了.网上铺天盖地的最常见的一种方案就是在父元素中relative,然后子元素absolute.这种方案当然好,不过带来的一个缺点就是会改变元素的层级关系,如果在多个地方使用,这样的层叠嵌套的关系会十分混乱. 先暂时抛弃那种方案,给大家分享几种CSS背景图片定位的方案. 整篇文章会按照如下思路: 1.无依赖的absolute定位 2.background-position扩展语法 3.background-origin定位 4.ca

python selenium系列(三)常用操作类型及方法

一 前言 开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容.在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素. 二 操作方法分类 总体来说,可以将操作大体分成四类,即浏览器操作.键盘操作.鼠标操作.js脚本. 1.  浏览器常用操作方法: 方法 描述 driver.maximize_window() 窗口最大化 driver.back() 页面返回 driver.forward(

vim(vi)常用操作及记忆方法

vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这里,我根据自己个人的使用经验,整理了一套vim的操作以及记忆的方法,希望对大家的学习有所帮助. VI的三种模式 1,命令模式   2,输入模式   3,末行模式 命令         执行的操作                 记忆方法 :q           退出                

VIM常用操作和使用方法

1.安装vim yum install -y vim-enhanced 2.常用命令 显示到该文件第几行 vim +10  /etc/init.d/iptables     (显示到该文件的第十行) 显示文件行数 :set nu vim三中模式 一般模式 光标的移动 上下左右键 jk(上下):hl(左右) ctrl+f(向下翻页):ctrl+b(向上翻页) gg(进入文档第一行):shift+g(进入文档最后一行) shift+4(进入这行行尾):0或shift+6(进入行首) 复制.剪切.黏贴

PHP中常用操作文件的方法

文件夹的创建: mkdir系统函数,第一个参数是路径,第二个参数是权限,第三个参数是是否递归创建,默认权限是0777最大权限,在windows下没有所谓的权限,在linux下可以设置权限,如果目录存在则会返回false,报错. 递归创建: 参数值:ture/false #例如想要在这个路径下创建一个文件夹 $path='./dir/a/b/c'; #如果中间有目录缺失,是不会自动创建的,默认是不递归创建 #如果递归创建,是可以自动生成这些目录的 is_dir:可以创建前判断是否存在目录. dir

web自动化测试中的八大定位方法,推荐使用xpath

web自动化测试中的定位方法,常用相对路径来定位,推荐使用 xpath 定位 在百度进行定位 # 引入库 from selenium import webdriver # 打开谷歌浏览器,建立会话.启动Chromedriver.exe 打开Chrome driver = webdriver.Chrome() # 启动谷歌浏览器 # driver = webdriver.Firefox() # 启动火狐浏览器 # driver = webdriver.Ie() # 启动IE浏览器 # 访问百度首页

[python爬虫] Selenium常见元素定位方法和操作的学习介绍

这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法.鼠标操作.键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~ 前文目录: [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上) [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图 [Python爬虫] Selenium实现自动登