zoukankan      html  css  js  c++  java
  • ui自动化-则神第一天01-html基础和元素定位之面试问题

     get  refresh 才会有等待,等待页面图片和文件静态加载,还有动态js渲染加载完毕,要等,其余的没有等待时间 

    肉眼看到了不一定能操作 

    back 返回 

    forward 前进 

    refresh 刷新 

    get   三种获取方法??????

    title   标题

    current_url  当前页,获取当前的网址,比如判断当前的网址是什么时候

    page_source   网页的源码 

    print(driver.title)#百度的左上角标题
    print(driver.current_url)#获取请求网址
    print(driver.page_source)#获取前端的源码
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    print(driver.title) 标题
    print(driver.current_url)网址
    print(driver.page_source)源码
    driver.close 关闭当前焦点所在的浏览器窗口 比如你从a 新打开一个 会关闭a
    driver.quit 退出或者关闭浏览器会话 只关闭你打卡的
    driver.maximize_window() 最大化浏览器窗口
    driver.get_screenshot_as_file('./ces.png') 截图到本地文件
    标签的简介?html基础
    html <input id="a" name="b"> xxx</input> 
    对应的字段
    这个叫标签名称也叫元素类型 常用的是tag 
    这个尖括号里面和外面叫一个对象
    文本值 text
    属性 id 属性 唯一 name属性(提交给服务器的名称,一般不重复)
    class 元素分类样式
    元素有上下级关系
    常见页面定位方式?????怎么分析?给你一个按钮
    1.如果有id 先用id,不重复 现在会有id随时更新的
    2.name 并不是所有name都有,如果你操作的在表单里from
    3.class 重复性比较高
    4.如果你操作是个链接 link <a></a> 可以用链接里的文本text 前提是a标签
    5.上下级关系复杂定位 定位语句(xpath css选择器)
    常见的元素类型????????????????????
    1.input 叫输入域,根据输入域的type不同 长的不一样
    2.button 按钮
    3.select 下拉列表
    4.ul 列表有小黑点
    5.a 超链接
    6.image 图片
    7.table 表格
    8.from 表单
    9.div 块级标签 块元素 页面布局
    10.文本-显示段落 span 短文本
    实战模拟注册的????????只能称之为操作步骤还没有验证加断言?????
    import time
    from selenium import webdriver
    driver=webdriver.Chrome()
    driver.get('http://8.141.52.231/shop/')
    time.sleep(2)
    driver.find_element_by_link_text('注册').click()
    time.sleep(2)
    driver.find_element_by_id('email').send_keys('964066768@qq.com')
    driver.find_element_by_name('password').send_keys('123456')
    driver.find_element_by_name('repassword').send_keys('123456')
    driver.find_element_by_id('verifyCode').send_keys('1111')
    time.sleep(2)
    driver.find_element_by_id('readme').click()
    driver.find_element_by_class_name('btn').click()
    driver.close()
    还有一个clrear清空方法
    隐藏域?????????

     取值类的操作,获取值的操作??????目的拿值做验证

    1.获取文本值     driver.find_element_by_id('readme').text

    2.获取属性值    driver.find_element_by_class_name('baidu').get_attribute('href')

    实战

     #取输入框的内容 先看怎么定位

    print(driver.find_element_by_name('info').text)
    #取链接值 先看怎么定位的看看你取链接值的对应
    print(driver.find_element_by_class_name('baidu').get_attribute('href'))
    print(driver.find_element_by_class_name('jd').get_attribute('href'))

     如果你想打开一个新窗口覆盖旧的窗口,不想开多个窗口,怎么防止新窗口不弹出???

    link=driver.find_element_by_class_name('baidu').get_attribute('href')
    driver.get(link)
    time.sleep(2) 预期只打开新窗口,旧窗口自动关
    如何判断图片的正常展示???????
    1.图片要有链接
    img元素存在 图片的来源请求可以通

    下拉框的操作??????????????????????????? select
    import time
    from selenium.webdriver.support.select import Select
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('file:///G:/a-%E5%88%98%E6%B3%BD%E8%80%81%E5%B8%88%E8%A7%86%E9%A2%91/ui%E8%87%AA%E5%8A%A8%E5%8C%96/ui%E8%87%AA%E5%8A%A8%E5%8C%96/2021-08-01-ui%E7%AC%AC%E4%B8%80%E8%8A%82%E8%AF%BE%E7%9A%84%E7%BB%83%E4%B9%A0/demo%20(2).html')
    elenent=driver.find_element_by_name('select')#通过一个name元素定位一个下拉列表对象传给el
    select=Select(elenent)#创建对象
    select.select_by_value('1')#最靠谱
    time.sleep(2)
    driver.maximize_window()
    select.select_by_value('2')#最靠谱
    # 循环选择下拉框所有内容
    for i in range(0,len(select.options)):
    select.select_by_index(i)
    time.sleep(2)
    连续动作的操作????点击类

     

    import time
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('file:///G:/a-%E5%88%98%E6%B3%BD%E8%80%81%E5%B8%88%E8%A7%86%E9%A2%91/ui%E8%87%AA%E5%8A%A8%E5%8C%96/ui%E8%87%AA%E5%8A%A8%E5%8C%96/2021-08-01-ui%E7%AC%AC%E4%B8%80%E8%8A%82%E8%AF%BE%E7%9A%84%E7%BB%83%E4%B9%A0/demo%20(2).html')
    driver.execute_script('window.scrollTo(0,1000)')#滚动屏幕
    ac=ActionChains(driver)
    #拖动鼠标到某个按钮
    ac.move_to_element(driver.find_element_by_class_name("over"))#焦点移动到那个元素,这里要在页面自己定位
    ac.perform()#动作回放表
    双击操作??????????
    import time
    from selenium.webdriver.support.select import Select
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('file:///G:/a-%E5%88%98%E6%B3%BD%E8%80%81%E5%B8%88%E8%A7%86%E9%A2%91/ui%E8%87%AA%E5%8A%A8%E5%8C%96/ui%E8%87%AA%E5%8A%A8%E5%8C%96/demo.html')
    time.sleep(2)
    driver.execute_script('window.scrollTo(0,1000)')#滚动屏幕 自动滚屏如果不够把1000写大点
    ac=ActionChains(driver)
    ac.move_to_element(driver.find_element_by_class_name("over"))#焦点移动到那个元素
    ac.perform()#动作回放表演
    time.sleep(2)
    ac.double_click(driver.find_element_by_class_name('double'))#双击
    ac.perform()#动作回放表演
    拖拽的操作????????????????????????

    
    
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    driver = webdriver.Chrome()
    ac=ActionChains(driver)
    driver.get('file:///G:/a-%E5%88%98%E6%B3%BD%E8%80%81%E5%B8%88%E8%A7%86%E9%A2%91/ui%E8%87%AA%E5%8A%A8%E5%8C%96/ui%E8%87%AA%E5%8A%A8%E5%8C%96/2021-08-01-ui%E7%AC%AC%E4%B8%80%E8%8A%82%E8%AF%BE%E7%9A%84%E7%BB%83%E4%B9%A0/demo%20(2).html')
    driver.execute_script('window.scrollTo(0,1000)')
    ac.drag_and_drop(driver.find_element_by_xpath("//div[@id='slider']/span"),
    driver.find_element_by_id("slider_confirm"))
    ac.perform()


     








  • 相关阅读:
    CDN的实现原理
    【Android】 textview 中超出屏幕宽度的字符 省略号显示
    【用户反馈】海外产品大牛: 让用户反馈推着你走
    谷歌2013年搜索热榜 全球榜曼德拉抢榜首 中国区小爸爸第一
    数字(数码)舵机和模拟舵机的区别
    x86 版的 Arduino Intel Galileo 开发板的体验、分析和应用
    【Android】Android自定义属性,attr format取值类型
    android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边
    Android webView打不开baidu网页的解决办法
    企鹅的石头
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/15026161.html
Copyright © 2011-2022 走看看