selenimu学习二
1、上传文件
from selenium import webdriver
import time
import os driver = webdriver.Chrome()
src_file = "file:///" + os.path.abspath("test.html") driver.get(src_file) while True:
ele = driver.find_element_by_name("selenium_upload").send_keys(os.path.abspath("test.html"))
time.sleep(5) driver.close()
2、使用chrom浏览器器实现下载操作
# chrom浏览器实现下载操作
from selenium import webdriver from time import sleep
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'e:\\'}
# profile.default_content_settings.popups:禁止弹出窗口
# download.default_directory:设置下载路径
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome()
driver.get('https://pypi.org/project/selenium/#files')
driver.find_element_by_link_text('selenium-3.13.0.tar.gz').click()
sleep(13)
driver.quit()
3、操作cookies
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.cnblogs.com/")
# 1、获取所有的cookies信息
print(driver.get_cookies())
driver.add_cookie(
{
"name":"dsb",
"value":"xsb"
}
)
print(driver.get_cookies())
# 通过name属性删除单个cookie
driver.delete_cookie("dsb")
# 通过name属性查看单个cookie的信息
print(driver.get_cookie("dsb"))
# 删除所有的cookies
driver.delete_all_cookies()
print(driver.get_cookies())
driver.close()
4、操作滚动条
操作滚动条
from selenium import webdriver
driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click() # top = "var q=document.documentElement.scrollTop={height}".format(height=10000)
top="var q=document.body.scrollTop=10000"
# middle = "var q=document.documentElement.scrollTop={height}".format(height=0)
middle="var q=document.body.scrollTop=0" driver.execute_script(top)
import time
time.sleep(5) driver.execute_script(middle)
time.sleep(5)
driver.close()
5、截图
selenium实现截图
from selenium import webdriver driver = webdriver.Chrome()
driver.maximize_window() driver.get("https://www.baidu.com") try:
driver.find_element_by_id("kw").send_keys("selenium")
except Exception as e:
print(e)
else:
driver.get_screenshot_as_file("kw.png") finally:
driver.close()
selenimu学习二的更多相关文章
- emberjs学习二(ember-data和localstorage_adapter)
emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...
- ReactJS入门学习二
ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...
- TweenMax动画库学习(二)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
- Quartz学习--二 Hello Quartz! 和源码分析
Quartz学习--二 Hello Quartz! 和源码分析 三. Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...
- SpringCloud学习(二):微服务入门实战项目搭建
一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...
- DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer
DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...
随机推荐
- linux 常用命令记录&& xsheel 使用记录
cp -r x1 x2 复制文件x1到x2 ls 当前目录下的文件列表 ll ...
- html 基础之a标签的属性target解析
学习前端,有很多标签其实有很多不同的功能,但是用到的不多,所以就没有发现:当发现的时候,觉得很不可思议,有耳目一新的感觉.例如a 标签,之前只是知道,使用a标签,可以打开一个链接,然后访问一个新的页面 ...
- django403错误(转)
原文:http://blog.sina.com.cn/s/blog_60ccc6e101011ku0.html 处理过程 1.按提示及google结果修改setting.py,在MIDDLEWARE_ ...
- Servlet基本_Filter
1.概念・サーブレットフィルタとは.サーブレットやJSPの「共通の前後処理」を記述するための仕組みです.・フィルタはサーブレットやJSPの前に位置し.実行前と後に.リクエスト.レスポンスに対して任意の ...
- Spring AOP demo 和获取被CGLIB代理的对象
本文分为两部分:1)给出Spring AOP的一个例子(会使用CGLIB代理):2)给出获取被CGLIB代理的原始对象. 1.Spring AOP Demo 这部分参考了博文(http://www.v ...
- Haskell语言学习笔记(82)Extensible effects
安装 extensible-effects $ cabal install extensible-effects Installed extensible-effects-3.0.0.0 Extens ...
- python笔记之强制函数以关键字参数传参
最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记 def add(*, x, y): print(x, y) 以上函数定义后,该怎么传参?前面的那个*号是做什么用的? 我们 ...
- 吴裕雄 python oracle检索数据(2)
import cx_Oracle conn = cx_Oracle.connect("scott/admin@localhost:1521/orcl")cursor = conn. ...
- 吴裕雄 21-MySQL 正则表达式
MySQL 正则表达式在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配.MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表 ...
- js异步加载的5种方式
方案1:$(document).ready 点评: 1.需要引用jquery 2.兼容所有浏览器. 方案2:<script>标签的async="async"属性 asy ...