date:2018505+2018506 day05+06mor

一.安装环境

1.cmd→pip install selenium

2.将浏览器驱动放入X:\Python27下(如chromedriver.exe放入C:\Python27)(前提是已安装浏览器)

注:浏览器驱动要和浏览器版本相对应

二.Selenium基础

1.控制浏览器

2.查找元素

①.通过元素name方法查找——xxx.find_element_by_name('')

②.通过元素id方法查找——xxx.find_element_by_id('')

③.通过元素css样式方法查找——xxx.find_element_by_css_selector('')

④.通过元素xpath方法查找——xxx.find_element_by_xpath('')【选择代码块右键Copy→Copy Xpath】【长路径 单斜杠;短路径 双斜杠】【除了文本,一切xpath查找的属性前都要加@】

⑤.通过手动书写包含方法查找——xxx.find_element_by_xpath('//a[contains(text(),"")]')

⑥.通过class方法查找——xxx.find_element_by_class_name('')

⑦.通过link_text方法查找——xxx.find_element_by_link_text('')

⑧.同名元素处理——xxx.find_elements_by_XXX

3.selenium操作

①.智能等待——xxx.implicitly_wait(10)

②.消除原有数据——xxx.find_element_by_xpath('').clear()

③.退出 驱动浏览器退出——xxx.quit()

④.关闭当前窗口——xxx.close()

⑤.下拉框操作

#二次查找(先找父类,通过父类找到子元素):

#selenium封装的方法:先导入Select

⑥.获取文本

xxx.find_element_by_xpath().text

⑦.切换框架:xxx.switch_to.frame()

切除框架(切到默认框架):br.switch_to.default_concent()

⑧.鼠标操作:导入需要的库

⑨.弹窗

通知型

需要输入内容型

⑩.多窗口处理

⑪.键盘处理:导入库

⑫.浏览器前进、后退、刷新(封装好的内容,直接使用)

xxx.forward()

xxx.back()

xxx.refresh()

⑬.截图:

⑭.滚动条操作

同步:之前的事情做完了有结果,下件事才开始

br.execute_script()

异步:一起做事情,谁先做完返回结果

br.execute_async_script()

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#滑动到底部

js=“var q=document.body.scrollTop=1000”

#滑动到顶部

js=“var q=document.body.scrollTop=0”

#执行js语句

br.execute_script(js)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#拖动元素到可见位置

ele=br.find_element_by_id('')

br.execute_script("arguments[0].scrollIntoView();",ele)

⑮.Selenium其他写法(不支持link_text)

br.find_element('id','')

最新文章

  1. iframe关于滚动条的去除和保留
  2. VIM的强大功能
  3. discuz内置常用CSS代码分析
  4. Lucene
  5. nginx 一二事(1) - 简单图片服务器解决方案
  6. 闹钟--alarmManager
  7. Java IO(四)
  8. “=”号和“:”的区别,Html.Raw()的使用
  9. 利用ant进行编译和发布项目
  10. JNI之HelloWorld
  11. Android应用开发学习笔记之BroadcastReceiver
  12. python--函数式登录程序
  13. STM32F103 使用TIM3产生四路PWM
  14. Code Lock
  15. Python之几种常用模块
  16. Java错误和异常
  17. SpringCloud的分布式配置及消息总线
  18. PCI9054 总结(讲解非常清楚)
  19. hadoop第一个例子
  20. Oracle null判断并替换空值

热门文章

  1. ukylin 使用deepin-wine
  2. poj 3415 Common Substrings - 后缀数组 - 二分答案 - 单调栈
  3. newcoder 小A的柱状图(单调栈)题解
  4. 论文笔记:Real-Time MDNet
  5. jQuery学习笔记(一)
  6. mac git 删除本地仓库文件
  7. 读写方式 r , r+ , w , w+ , a , a+
  8. 【Core】.NET Core 部署在Linux
  9. 一招破解 Java 集合类面试题
  10. docker-compose 手工指定容器IP