selenium需要配合一个driver  我使用的是chrome的driver 注意一定要下载对应浏览器版本的driver 否则会报错的

http://chromedriver.storage.googleapis.com/index.html

例如我的chrome的版本是67.xxx我选择的是2.38 最开始下载的2.39和我的版本不匹配,如果你也是这样,请多换几个版本

1.导入包

from selenium import webdriver
from scrapy.selector import Selector #这是调用选择器

 建立一个brower path后面跟你的driver的地址,可以是绝对路径,要英文路径,我没试过中文的,经验告诉我,用英文

browser = webdriver.Chrome(executable_path='./chromedriver')

 2.打开一个网页

browser.get("https://www.zhihu.com/signin")
print(browser.page_source) #获取页面的html文本配合selector使用

 3模拟登录知乎

from selenium import webdriver
from scrapy.selector import Selector
import time
browser = webdriver.Chrome(executable_path='./chromedriver') browser.get("https://www.zhihu.com/signin") browser.find_element_by_css_selector(".SignFlow-accountInput.Input-wrapper input[name='username']").send_keys("你的用户名")
browser.find_element_by_css_selector(".Input-wrapper input[name='password']").send_keys('你的密码')
time.sleep(5) #也许会出现验证码,得手动打码,或者你调用打码的api这边自己调 browser.find_element_by_css_selector(".SignFlow-submitButton").click() #模拟点击登录按钮

 4模拟登录微博

from selenium import webdriver
from scrapy.selector import Selector
import time
browser = webdriver.Chrome(executable_path='./chromedriver')
browser.get("https://weibo.com/") time.sleep(5)
browser.find_element_by_css_selector("#loginname").send_keys("你的用户名")
browser.find_element_by_css_selector(".info_list.password input[name='password']").send_keys('你的密码')
browser.find_element_by_css_selector(".W_btn_a.btn_32px[node-type='submitBtn']").click() #模拟点击登录

 5修改selenium的默认配置不加载图片

from selenium import webdriver
chrome_opt = webdriver.ChromeOptions()
prefs={"profile.managed_default_content_settings.images":2}
chrome_opt.add_experimental_option("prefs",prefs)
browser = webdriver.Chrome(executable_path='./chromedriver',chrome_options=chrome_opt)
browser.get("https://www.taobao.com")

 6模拟下拉页面加载内容

from selenium import webdriver
browser = webdriver.Chrome(executable_path='./chromedriver')
browser.get("https://www.oschina.net/blog")
for i in range(3):
browser.execute_script("window.scrollTo(0,document.body.scrollHeight);var lenOfPage=document.body.srollHeight; return lenOfPage;")
time.sleep(3)

  

 

selenium的基本用法的更多相关文章

  1. python爬虫---selenium库的用法

    python爬虫---selenium库的用法 selenium是一个自动化测试工具,支持Firefox,Chrome等众多浏览器 在爬虫中的应用主要是用来解决JS渲染的问题. 1.使用前需要安装这个 ...

  2. Python之Selenium的爬虫用法

    Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手).也就是说 Sel ...

  3. 模拟登陆百度以及Selenium 的基本用法

    模拟登陆百度,需要依赖于selenium 模块,调用浏览器,执行python命令 先来说一下这个selenium模块啦...... 本文参考内容来自 Selenium官网 SeleniumPython ...

  4. Selenium WebDriver高级用法

    Selenium GitHub地址 选择合适的WebDrvier WebDriver是一个接口,它有几种实现,分别是HtmlUnitDrvier.FirefoxDriver.InternetExplo ...

  5. PYTHON 爬虫笔记七:Selenium库基础用法

    知识点一:Selenium库详解及其基本使用 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium ...

  6. selenium模块基础用法详解

    目录 selenium模块 官方文档 介绍 安装 有界面浏览器 无界浏览器 selenium+谷歌浏览器headless模式 基本使用 选择器 基本用法 xpath 获取标签属性 等待元素被加载 隐式 ...

  7. <自动化测试>之<Selenium API 的用法1>

    今天,简单,举例说一下在用python+selenium中元素定位的主要方法,第一部分是单个元素的操作,第二部分是一类元素的操作,实际操作中注意区分 #!/usr/bin/env python # - ...

  8. selenium By.xpath 用法

    搞了一下午... 1.     Xpath往往以“//”开头,属性都是采用@表示,例如//div[@id='_navigation']/div 2.     Firefox有个插件叫做xpather, ...

  9. Selenium常用API用法示例集----下拉框、文本域及富文本框、弹窗、JS、frame、文件上传和下载

    元素识别方法.一组元素定位.鼠标操作.多窗口处理.下拉框.文本域及富文本框.弹窗.JS.frame.文件上传和下载 元素识别方法: driver.find_element_by_id() driver ...

随机推荐

  1. CentOS7 安装中文输入法

    CentOS7输入中文,打开终端,使用管理员权限 su 输入管理员密码,回车 输入 yum install  ibus-libpinyin 回车,耐心等待安装完,然后重启系统 重启完后再进行前面的步骤 ...

  2. Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是“确定”图标,返回的resultCode = -1(Activity.RESULT_OK): 如果 ...

  3. 基于Consul的数据库高可用架构

    几个月没有更新博客了,已经长草了,特意来除草.本次主要分享如何利用consul来实现redis以及mysql的高可用.以前的公司mysql是单机单实例,高可用MHA加vip就能搞定,新公司mysql是 ...

  4. Linux--Introduction and Basic commands(Part one)

    Welcome to Linux world! Introduction and Basic commands--Part one J.C 2018.3.11 Chapter 1 What Is Li ...

  5. npm install 失败

    总结列表: 1. There is already an open DataReader associated with this Connection which must be closed fi ...

  6. aspx 页面中 js 引用与页面后台的数据交互 --【 js 调后台】

    后台调用 js 方法 前台调用后台方法与变量:  后台被调用的方法必须是public 或 protected 后台被调用的方法必须是静态的static 方法一:通过WebService来实现 步骤: ...

  7. 5.QT-QString类

    Qt中的字符串类 介绍 采用Unicode编码  采用隐式共享技术,节省内存和不必要的数据拷贝 隐式共享介于浅拷贝和深拷贝之间,当两个string对象赋值时,会实现浅拷贝(共享一块内存),如果某个对象 ...

  8. 【Java每日一题】20170210

    20170209问题解析请点击今日问题下方的“[Java每日一题]20170210”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public cla ...

  9. 【Redis】2、CentOS 7 上安装 redis3.2.3安装与配置

    一.redis源码安装 [更正]现在最新稳定的版本已经到了3.2.8 截至到2016.8.11,redis最新稳定版本为3.2.3.本篇文章我们就以此版本为基础,进行相关的讲解. 下载redis源码, ...

  10. 【Tomcat】上线部署tomcat。常用命令

    ps -ef | grep tomcat-web [查询tomact进程]kill -9 pid [结束tomcat进程]/opt/tomcat-web/bin/startup.sh [启动tomca ...