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学习二的更多相关文章

  1. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  2. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  3. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  4. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  5. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  6. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  7. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

  8. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  9. DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer

      DjangoRestFramework学习二之序列化组件.视图组件   本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...

随机推荐

  1. JSONArray 遍历

    JSONArray 遍历   刚遇到一个接接口任务,发现其中返回数据中,是个字符串数组,数组中就是单个json形式的内容,其实应该也可以称这种数据叫做json数组吧,只不过是字符串形式.而我需要的是将 ...

  2. 跨域(六)——window.name

    window.name也可以进行跨域数据传输. 下面是相应的代码,evil.html跨域读取foo.html的数据,其中proxy.html和evil.html同域,没有任何内容. evil.html ...

  3. 转: python requests的安装与简单运用

    requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢? 官方文档中是这样说明的: python的标准库urlli ...

  4. Linux查看CPU、内存、IO占用高的进程

    查看CPU占用高的top15进程 | | 查看内存占用高的top15进程 | | 查看IO占用高的top15进程 ./ind_high_io_process.py 3 4 5.其中3表示间隔3秒获取一 ...

  5. [PHP]防止表单重复提交的几种方法

    --------------------------------------------------------------------------------------------------- ...

  6. 删除node_modules文件夹

    老版本的npm对有node_modules文件夹太长的问题,新版本就没有这个问题.2.7? npm install rimraf -g rimraf node_modules

  7. AngularJS 中{{}}与ng-bind指令

    面试中,有被问题关于{{}}与ng-bind指令的问题,在此,分享下自己的知识点. 在脚本没有加载完成时,用户会看到{{}},界面比较丑陋.     一般的解决方法: 在index.html里面使用n ...

  8. 头部尾部始终处于两端(适用于pc端和移动端)

    此代码展示的效果阐述:(随着屏幕宽高度的变化而变化) 当页面内容小于屏幕高度时,头尾分别处在屏幕顶部和屏幕底部: 当页面出现滚动条时,头尾分别处于屏幕顶部和内容底部: <style> *{ ...

  9. 05_ssm基础(一)之mybatis简单使用

    01.mybatis使用引导与准备 1.ssm框架 指: sping+springMVC+mybatis 2.学习mybatis前准备web标准项目结构 model中的Ticket代码如下: pack ...

  10. 带轮播图、导航栏、商品的简单html,以及轮播图下边数字随轮播图的改变而改变

    ---恢复内容开始--- 在做这个的时候,最不会的是中间轮播图下边的数字是如何实现转变的,后来加入了jQuery就能实现了. css部分: <style type="text/css& ...