zoukankan      html  css  js  c++  java
  • python+selenium十五:CSS与Jquery

     在css中,id用#表示,class用.表示,要定位标签直接写标签名,其他属性就用[xxx='xxx']

    一、css定位


    1、属性定位:可以通过任意属性定位,不局限于id、class、name、tag、link这五种属性

    1.通过id定位
    driver.find_element_by_css_selector("#kw").send_keys("hao")

    2.通过class定位
    driver.find_element_by_css_selector(".s_ipt").send_keys("hao")

    3.通过标签
    driver.find_element_by_css_selector("input").send_keys("hao")

    4.其它属性
    driver.find_element_by_css_selector("[name='kw']")
    driver.find_element_by_css_selector("[autocomplete='off']")


    2、组合定位

    1.父子关系
    driver.find_element_by_css_selector("span>input")

    2.组合定位
    driver.find_element_by_css_selector("form.fm>span>input.s_ipt")
    driver.find_element_by_css_selector("form#form>span>input#kw")

    3.定位到一组,取第几个: 用“:nth-child()”

    4.同时满足2个属性
    [class="form-control"][name="account"]
    或者:#account[class="form-control"]

    5.更多

    二、获取返回值
    1、返回对象属性值

    1.获取title值
    print(driver.title)

    2.获取元素属性值get_attribute(“属性”)
    t = driver.find_element_by_id("su").get_attribute("属性名称")
    print(t)

    3.判断元素是显示还是隐藏(返回布尔值)
    d = driver.find_element_by_id("su").is_displayed()
    print(d)

    4.获取浏览器名称
    print(driver.name)

    5.获取元素size
    s = driver.find_element_by_id("su").size
    print(s)

    6.获取文本值

    t = driver.find_element_by_id("su").text
    print(t)

    三、jquery

    Jquery主要解决selenium里面的定位到元素,click失效的问题

    1、Jquery语法

    输入框输入jquery定位语法:$(“css selector")
    如:$("#input1")
    jquery语法可以学下w3school的教程:http://www.w3school.com.cn/jquery/jquery_syntax.asp

    2、Jquery行为事件
    jquery行为
    1.发送文本语法:$(css定位).val("文本内容")
    2.清空文本语法:$(css定位).val(‘ ')   # 空字符串,两个单引号
    3.点击按钮:$(css定位).click()

    3、浏览器调试jquery

    直接在控制台输入jquery回车

    $('#account').val("admin");
    $('[name="password"]').val("123456");
    $('#submit').click()

    4、元素在iframe上的问题

    1.用selenium切换就用selenium定位
    2.不能一半selenium切换iframe,一半用jqurey定位。
    3.Jquery遇到iframe目前不太好弄


    JS语法:
    document.getElementById('iframe的ID').contentWindow.document.getElementById('元素的ID')

  • 相关阅读:
    java基础知识:私有成员变量
    分布式架构:概述一
    java基础知识:内存
    原油期货价格跌至-37美元/桶的影响
    贷款利息
    java基础知识:IntelliJ IDEA的基础设置
    正则表达式的常用方法
    http服务器三:自己写一个服务器实现转发功能
    bzoj3875: [Ahoi2014&Jsoi2014]骑士游戏(用spfa解决有后效性的dp)
    bzoj2118: 墨墨的等式(巧妙的单源最短路+priority_queue)
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/10646199.html
Copyright © 2011-2022 走看看