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 一 序列化组 ...
随机推荐
- JSONArray 遍历
JSONArray 遍历 刚遇到一个接接口任务,发现其中返回数据中,是个字符串数组,数组中就是单个json形式的内容,其实应该也可以称这种数据叫做json数组吧,只不过是字符串形式.而我需要的是将 ...
- 跨域(六)——window.name
window.name也可以进行跨域数据传输. 下面是相应的代码,evil.html跨域读取foo.html的数据,其中proxy.html和evil.html同域,没有任何内容. evil.html ...
- 转: python requests的安装与简单运用
requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢? 官方文档中是这样说明的: python的标准库urlli ...
- Linux查看CPU、内存、IO占用高的进程
查看CPU占用高的top15进程 | | 查看内存占用高的top15进程 | | 查看IO占用高的top15进程 ./ind_high_io_process.py 3 4 5.其中3表示间隔3秒获取一 ...
- [PHP]防止表单重复提交的几种方法
--------------------------------------------------------------------------------------------------- ...
- 删除node_modules文件夹
老版本的npm对有node_modules文件夹太长的问题,新版本就没有这个问题.2.7? npm install rimraf -g rimraf node_modules
- AngularJS 中{{}}与ng-bind指令
面试中,有被问题关于{{}}与ng-bind指令的问题,在此,分享下自己的知识点. 在脚本没有加载完成时,用户会看到{{}},界面比较丑陋. 一般的解决方法: 在index.html里面使用n ...
- 头部尾部始终处于两端(适用于pc端和移动端)
此代码展示的效果阐述:(随着屏幕宽高度的变化而变化) 当页面内容小于屏幕高度时,头尾分别处在屏幕顶部和屏幕底部: 当页面出现滚动条时,头尾分别处于屏幕顶部和内容底部: <style> *{ ...
- 05_ssm基础(一)之mybatis简单使用
01.mybatis使用引导与准备 1.ssm框架 指: sping+springMVC+mybatis 2.学习mybatis前准备web标准项目结构 model中的Ticket代码如下: pack ...
- 带轮播图、导航栏、商品的简单html,以及轮播图下边数字随轮播图的改变而改变
---恢复内容开始--- 在做这个的时候,最不会的是中间轮播图下边的数字是如何实现转变的,后来加入了jQuery就能实现了. css部分: <style type="text/css& ...