在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')

python+selenium十五:CSS与Jquery的更多相关文章

  1. python+selenium十:selenium的二次封装

    python+selenium十:基于原生selenium的二次封装   from selenium import webdriverfrom selenium.webdriver.support.w ...

  2. 初学 Python(十五)——装饰器

    初学 Python(十五)--装饰器 初学 Python,主要整理一些学习到的知识点,这次是生成器. #-*- coding:utf-8 -*- import functools def curren ...

  3. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  4. 孤荷凌寒自学python第二十五天初识python的time模块

    孤荷凌寒自学python第二十五天python的time模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 通过对time模块添加引用,就可以使用python的time模块来进行相关的时间操 ...

  5. 孤荷凌寒自学python第十五天python循环控制语句

    孤荷凌寒自学python第十五天python循环控制语句 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) python中只有两种循环控制语句 一.while循环 while 条件判断式 1: ...

  6. Python进阶(十五)----面向对象之~继承(单继承,多继承MRO算法)

    Python进阶(十五)----面向对象之~继承 一丶面向对象的三大特性:封装,继承,多态 二丶什么是继承 # 什么是继承 # b 继承 a ,b是a的子类 派生类 , a是b的超类 基类 父类 # ...

  7. 第十五篇:jQuery

    本篇内容 简介 使用 一. 简介 jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. jQuery 很容易学习. jQuery 库可以通过一行简 ...

  8. selenium python (十五)控制滚动条操作

    #!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #一般用到操作滚动条的两个场景    #注册时的法律条文的阅读,判断用户 ...

  9. selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)

    跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活定位不到,这个时候就需要自己学会动手写xpath,人脑总比电脑聪明,开始把xpath语法给我 ...

随机推荐

  1. 【mmall】IDEA中Service层无法识别Mapper,但是代码通过问题

    解决方案

  2. springfox-swagger2

    简介 springfox是通过注解的形式自动生成API文档,利用它,可以很方便的书写restful API: swagger主要用于展示springfox生成的API文档: 依赖 <depend ...

  3. 前端-----html(1)

    基本结构 Doctype Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档 <!DOCTYPE html> bead标签 Meta 提供有关页面的元信息,例: ...

  4. linux 安装图行界面

    centos6的环境中 代码:[root@ebs122 sysconfig]#yum groupinstall "Desktop" 使用 init 5命令进入图形化界面,如果成功的 ...

  5. 709. To Lower Case

    Algorithm to-lower-case https://leetcode.com/problems/to-lower-case/ 1)problem Implement function To ...

  6. js中 && 和 || 的用法

    js中的&& 和 || 一直以为是php那一套,上网查了一些资料,才发现不一样 a() && b() :如果执行a()后返回true,则执行b()并返回b的值:如果执行 ...

  7. Memcached技术

    Memcached技术 介绍: memcached是一种缓存技术, 他可以把你的数据放入内存,从而通过内存访问提速,因为内存最快的, memcached技术的主要目的提速, 在memachec 中维护 ...

  8. C++游戏开发需要阅读的书籍

    如果要自学游戏程序开发的话,可以看看下面的,呵呵. 游戏开发资料(PDF书都是中文版的,非英文,很多是本人自己扫描制作,从未网上发布过,所以独家啦):  1.Gamebryo 2.2游戏引擎(盛大.腾 ...

  9. 【转】采用dlopen、dlsym、dlclose加载动态链接库

    1.前言 为了使程序方便扩展,具备通用性,可以采用插件形式.采用异步事件驱动模型,保证主控制逻辑不变,将各个业务以动态链接库的形式加载进来,这就是所谓的插件.linux提供了加载和处理动态链接库的系统 ...

  10. codeforces 955F Cowmpany Cowmpensation 树上DP+多项式插值

    给一个树,每个点的权值为正整数,且不能超过自己的父节点,根节点的最高权值不超过D 问一共有多少种分配工资的方式? 题解: A immediate simple observation is that ...