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. ABAP-折叠窗口

    1.测试 2.代码 *&---------------------------------------------------------------------* *& Report ...

  2. SourceTree commit information window消失解决办法

    https://answers.atlassian.com/questions/15282793/sourcetree-how-to-show-commit-information-panel 执行命 ...

  3. jenkins系列_使用scp命令进行远程文件复制遇到的坑

    转自:https://blog.csdn.net/kingboyworld/article/details/78905553 一.场景介绍 项目为微服务项目,使用jenkins进行统一部署.基本思路是 ...

  4. Mastering Creativity:A brief guide on how to overcome creative blocks

    MASTERING CREATIVITY, 1st EditionThis guide is free and you are welcome to share it withothers.From ...

  5. LeetCode OJ 144. Binary Tree Preorder Traversal

    Given a binary tree, return the preorder traversal of its nodes' values. For example:Given binary tr ...

  6. HashMap 实现总结

    Entry类中需包含键值的hash值,防止resize时的重复计算: Map容量为2的整幂,可使用位操作取代取余操作提高效率: resize时需要将原table的桶内数据置null,利于垃圾回收: h ...

  7. ASP.NET 工作流:支持长时间运行操作的 Web 应用程序

    ASP.NET 工作流 支持长时间运行操作的 Web 应用程序 Michael Kennedy   代码下载位置:MSDN 代码库 在线浏览代码 本文将介绍以下内容: 独立于进程的工作流 同步和异步活 ...

  8. C:\\MFC控件大小随窗体大小而改变

    一.大小和位置都改变 1.首先为窗体类添加CRect m_rect,该成员变量用来记录窗体的当前大小. 2.在类向导里面(Ctrl+W),为窗体添加消息WM_SIZE的响应函数OnSize(): 注意 ...

  9. linux基本命令练习

    1. 熟悉linux命令并且练习用法以及应用场景. 初学者完成Linux系统分区及安装之后,需熟练掌握Linux系统管理必备命令,命令包括:cd.ls.pwd.clear. chmod.chown.c ...

  10. centos 安装python3.6

    环境准备 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel 首先去官网下 ...