zoukankan      html  css  js  c++  java
  • selenium_06_课堂笔记

    用了等待用在所有窗口是之前
    
    没有用等待;是所有窗口之后
    
    web自动化面试题:报错;无法定位到元素,出现的原因可能有哪些?
    -1、元素定位的表达式是否正确 怎么确定:在浏览器中,检查找元素是否唯一 ctrl+f 
    -2、元素表达式是否正确,检查是否设置了等待 (隐性等待,sleep)
    -3、元素是否在另一个窗口(driver.window_handles)
    -4、是否在iframe里面(比如两种登方式:账号/密码;或者微信登录)检查元素/(ctrl+f) //iframe--看下
    -5、检查是否会(动态)自动变化(1、表达式是否会变化---需要替换表达式2、前端需要加载才会出现:比如:动态加载:滑动查能看到3、悬浮的定位方式:鼠标放在方面才会出现)
    
    
    注册验证码:
    1、先让开发关掉验证码
    2、开发设置万能验证码
    3、使用第三方的解码平台-超级鹰(接口)
    4、复杂的就没有办法搞(12306--人工都无法识别-机器也不行)
    
    vs code 或者pycharm专业版 webstom
    鼠标点击事件:on开头
    <h2 onclick = "myAlert">hello world</h2>
        onmouseover--鼠标悬浮
    <script>
    function myAlert()
        let name = "荒年";
        alert(name);
        if(name = 'xiuer'){
            alert(’秀儿跑路了‘);
        }else{
          alert("hello,world");
        }
    </script>
    
    dom对象:
    
    类和对象:
    一切皆为对象
    chrome()
    firefox()
    
    js--打开任意的窗口--封装为一个对象:
    窗口--叫做对象-window
    document对象的操作
    >> window.location ---获取某些属性(url为例)
    “”“--python的字符串
    ’‘’<html></html>‘’‘
    文档--document(dom-)文档变成对象
    整个html是一个对象:标签也是对象,可以用dom来调用
    元素;文本;属性---节点;注释--#注释节点
    >> document.body
    >> document.body.innerHTML ="hello world"
    >> el = document.getMyelemenById(”su“)
    >> el.click()
    >> el.className(”修改值“)
    >> el = docment.querySelector(”#kw“) -css选择器查找
    >> el = docment.get---类似python与八大元素find_elemont
    如何操作一个对象:--输入/点击
    开发部署远程代码--一次修改生效:
    -方法: 
    -属性:获取属性;修改属性
    对象的方法可以修改
    
    时间控件定位:
    控制台操作:自动化上是没用--使用与浏览器控制台
    >> $0.cilk---箭头符号的倒数第一个元素
    找不到日期输入:
    修改:value =”2021-3-10“--把readonly删掉
    >>input =docment.getelemnetbyid("train_date")
    
    >>input.readonly =false
    
    >>input.value ="2021-3-10"
    
    import time
    from selenium import webdriver
    
    driver = webdriver.chorme()
    driver.get("网站")
    # js 执行就是语句写上日期
    time.sleep(3)
    js_code ="let input =docment.getelemnetbyid("train_date");input.readonly =false;input.value ='2021-3-10'"
    time.sleep(3)
    # 可以把python和js混用
    input_elem = driver.find_element("id","train_date")
    time.sleep
    # 准备js 代码
    js_code =”arguuments[0].readonly=false;”arguuments[0].value = ’2021-03-22;‘”
    driver.execute_script(js_code,input_elem)
    
    time.sleep(3)
    
    # 窗口滚动--懒加载方式:
    --scrollBy--滚动--像素  500PX
    --scrollTo--滚动到 100PX
    #【反弹最新的话题加载出来导致】
    # 【0,500】
    >>window.scrollTo(0,500)#宽度不变;高度变化【上下滚动】
    #【最底部】
    >>windoe.scrollTo(0,body.scrollHeight)# 运行到窗口的最底部
    
    #【中间位置】
    >>windoe.scrollTo(0,body.scrollHeight/2)
    # 可视范围内--去点击
    比如友情链接:
    #找到需要定位的元素
    el = driver.find_element('xpath',"//h2[contains(text(),'友情链接')]")
    #滚动到可视范围内
    el.location_once_scrolled_into_view
    time.sleep(3# 文件上传
    # input 可以直接通过 send_keys 发送文件路径
    <input>id= "myfile"</input>
    f = driver.find_element('id','myfile')
    f.send_keys(r+文件路径)
  • 相关阅读:
    WF4.0 Beta1 自定义跟踪
    WF4.0 Beta1 流程设计器与Activity Designer
    新版本工作流平台的 (二) 权限算法(组织结构部分)
    WF4.0 Beta1 WorkflowInvoker
    WF4.0 基础篇 (十) Collection 集合操作
    WF4.0 基础篇 (十五) TransactionScope 事物容器
    WF4.0 基础篇 (六) 数据的传递 Arguments 参数
    WF4B1 的Procedural Activity 之InvokeMethod , InvokeMethod<T> 使用
    WF4.0 Beta1 异常处理
    WF4.0 Beta1 变量 Variables
  • 原文地址:https://www.cnblogs.com/zhang-ping1205/p/14514588.html
Copyright © 2011-2022 走看看