当前位置: 首页 > 编程日记 > 正文

selenium的基础知识点

from selenium import webdriver
from scrapy.selector import Selector#模拟登陆
browser = webdriver.Chrome(executable_path='Chromedriver.exe')
#路径是Chromedriver.exe的存放位置,windows下只要配置好这个环境就不需要了

browser.get('http://w') #需要登陆的那个网址

browser.find_element_by_xpath('//div[@view]/imput').send_keys('..........')
#需要输入的表单如帐号
browser.find_element_by_xpath('//div[@view]/imput').send_keys('..........')
#需要输入的表单如密码
browser.find_element_by_id('captcha').send_keys(input("有验证码输入验证码"))browser.find_element_by_xpath('//div[登陆的那个按钮]').click()#点击登陆
browser.quit()#退出浏览器

基本的点击与发送

#可以用selenium得到js加载后的html,比如抓取js加载的内容

browser = webdriver.Chrome(executable_path='')
browser.get('http://...')
print(browser.page_source)#js加载完成的源码'''
如果需要选择器快一点就使用scrapy中的Selector
'''
Seit = Selector(text=browser.page_source)
print(Seit.xpath('//*[@...]/text').extract())
#注意js加载本身就慢,在scrapy的异步当中,爬取的内容很快,导致有些js没有加载完成
#这样的话,只需要睡几秒就行

动态加载的数据获取

import timefrom selenium import webdriver
from scrapy.selector import Selectorbrowser = webdriver.Chrome(executable_path='..')
browser.get('http://.....')Seit = Selector(text=browser.page_source)
Seit.xpath('//div[@class=""]/text()').extract().send_keys("00000000")
Seit.xpath('//div[@class=""]/text()').extract().send_keys('************')
Seit.xpath('//div[@class=""]/text()').extract().click()#下拉
for i in range(3):'''三次下拉操作  execute_script是用来执行js代码'''browser.execute_script("window.scrollTo(0,document.body.scrollHeight) var lenOfPage=docment.body.scrollHeight;return lenOfPage")time.sleep(3)
# phantomjs无头浏览器:http://phantomjs.org/download.html

import time

from selenium import webdriver
from scrapy.selector import Selector

browser = webdriver.Chrome(executable_path='..')
browser.get('http://.....')

Seit = Selector(text=browser.page_source)
Seit.xpath('//div[@class=""]/text()').extract().send_keys("00000000")
Seit.xpath('//div[@class=""]/text()').extract().send_keys('************')
Seit.xpath('//div[@class=""]/text()').extract().click()

#下拉
for i in range(3):
'''三次下拉操作 execute_script是用来执行js代码'''
browser.execute_script("window.scrollTo(0,document.body.scrollHeight) var lenOfPage=docment.body.scrollHeight;return lenOfPage")
time.sleep(3)
# phantomjs无头浏览器:http://phantomjs.org/download.html

转载于:https://www.cnblogs.com/ArtisticMonk/p/9741173.html

相关文章:

iOS 直播专题2-音视频采集

从设备(手机)的摄像头、MIC中采集音频、视频的原始数据ios的音视频采集可以从AVFoundation框架里采集 视频采集 这里我们选取GPUImage来采集视频,因为这个框架集成了很多视频滤镜,例如美颜 采集流程: 摄像头采集视频代码 GPUImageVideoCamera.m // 从前摄像头或后摄像头…

bzoj 4871: [Shoi2017]摧毁“树状图”

4871: [Shoi2017]摧毁“树状图” Time Limit: 25 Sec Memory Limit: 512 MBSubmit: 53 Solved: 9[Submit][Status][Discuss]Description 自从上次神刀手帮助蚯蚓国增添了上千万人口(蚯口?),蚯蚓国发展得越来越繁荣了&#xff01…

Linux03-本地账户和组

目录 一、本地账户/etc/passwd 二、本地组/etc/group 三、切换账户su - 四、增删改本地账户useradd、userdel、usermod 五、账户默认配置文件/etc/login.defs 六、设置密码passwd(5)命令 七、增删改组groupadd、groupdel和groupmod 八、通过sudo以root身份运行命令 九…

ORB_SLAM2单目初始化策略

基本流程 单目初始化程序存储在Initializer.cc中   需要注意,对于双目/RGB-D相机,初始化时,由于可以直接获得相机的深度信息,因此无需求H/F,直接作为关键帧插入就行。   使用RANSACDLT求解H,RANSAC八点…

Powerdesigner逆向工程64位Oracle数据库

Powerdesigner老版本不支持64位Client,新版本弄不到破解码 解决方法,用Powerdesigner32位Oracle Clent访问64位Oracle Server 遇到的坑分享下 安装完64位的Oracle Server ,32位的 Oracle Clent默认的listener.ora文件有PROGRAM和ENVS这两个节点 Plsql(3…

运行jsp时,报错404

The origin server did not find a current reprsentation for the target resource or is not willing to disclose that one exists. 解决: 1. web.xml文件位置是否放错,应该放在WebContent/WEB-INF文件夹中 2. web.xml文件中是否有拼写错误&#xff0…

iOS 直播专题3-前置处理

前置处理 对视频添加美颜、水印、滤镜等对音频进行混音、消除环境音、声音特效等上一篇iOS 直播专题2-音视频采集提到视频采集采用的是GPUImage框架,这个框架集成了很多滤镜效果 这里主要介绍美颜、水印处理 处理流程: 美颜 这里的美颜效果用的是GPUImageBeautyFilter 功…

ORA-10873解决办法

今天,发现SAP系统的oracle数据库宕掉了。报错ORA-10873,经过查证解决该问题。记录一下,备忘。 一、问题 Oracle版本为12.1.0.2.0,在启动服务器后启动数据库startup,报错ORA-10873。 二、查证 到SAP Support Portal上…

ORB_SLAM2局部建图线程

局部建图线程入口:可执行程序在初始化三个线程的时候,在System.cc的构造函数中进入局部建图线程 mpLocalMapper new LocalMapping(mpMap, //指定使iomanipmSensorMONOCULAR); // TODO 为什么这个要设置成为MONOCULAR??&#…

十一连测day1

这次测试,是福建第三中学的某同学出的,感觉难度还行吧,今天我就浅谈一下这场比赛的时间分配与心得 打开题目,看到了T1,这题是一道计数题吧,感觉心态一下子就崩了,100%的数据点应该是组合数学容斥…

iOS 直播专题5-推流

常用的推流协议有: 协议内容RTP实时流传输协议,但不保证服务质量RTCPRTP数据流协议的一个姐妹协议,为RTP提供服务质量反馈SRTP & SRTCPRTP和RTCP的安全版本,提供数据加密、消息认证功能RTSP控制声音或影像的多媒体数据串流协议RTMPADOBE公司播放器与服务器之间多媒体数…

centos6.5-vsftp搭建

我的机子是默认是没有的vsftp。 yum install -y vsftp 创建账户专为ftp而生。useradd ftp01 更改账户不可登录系统。usermod -s /sbin/nologin ftp01 vsftp默认是可以匿名登录的,也是默认的端口,这些不安全选项都要修改! anonymous_enableYES…

Linux04-文件系统权限与ACL权限

目录 一、文件系统权限 1.1、认识文件系统权限 1.2、管理文件系统权限 1.3、特殊权限 1.4、默认权限 二、ACL权限 2.1、ACL本质是文件系统的一个挂载选项 2.2、更改文件的ACL权限 2.3、设置文件和目录的默认ACL权限 Linux中的权限管理分为两种类型 用户自主访问控制&…

ORB_SLAM2帧Frame

在追踪线程的一开始就会创建一个帧 cv::Mat Tracking::GrabImageMonocular(const cv::Mat &im,const double &timestamp)构造函数 在构造函数中,会对特征点进行提取。 ExtractORB(0,imGray);特征点分配至网格 将图像划分为48*64的网格,然后将…

Servlet的基本架构

Servlet的基本架构: package test;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Serv…

ORACLE 用户权限管理

Oracle创建用户的语法: CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLY OR IDENTIFIED GLOBALLY AS CNuser [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE temptablespace] [QUOTA [integer K[M] ] [UNLIMITED] ] ON tables…

iOS 直播专题6-流媒体服务器

常用的流媒体服务器有: nginx、SRS、BMS 这里主要介绍nginx、SRS 这里都用docker来运行流媒体服务器 docker 安装 下载Mac版docker stable 直接安装 注册一个docer账号直接登录SRS 安装 SRS guthub地址:https://github.com/ossrs/srs/ 启动上面安装的docker软件后,打开终端…

Linux05-进程管理

目录 一、进程 1.1、进程ID 1.2、列出进程 1.3、进程前后台 二、使用信号控制进程 三、以管理员身份注销用户(踢掉在线用户) 四、监控进程活动 4.1、负载平均值 4.2、实时进程监控 进程是已启动的可执行程序的运行中的实力。它由以下部分组成&a…

Mat常用赋值方式

参考https://blog.csdn.net/wanggao_1990/article/details/53264753 #include <iostream> #include <opencv2/opencv.hpp> #include <unordered_map> using namespace std; using namespace cv; int main(int argc,char** argv) {// 1Mat mat (Mat_<flo…

java modbus协议

概念 Modbus是一种串行通信协议&#xff0c;Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口EIA-485物理层进行。 通讯格式 地址域功能码数据CRC校验(低字节在前)1字节1字节N字节2字节 在单片机硬件通讯串口行业&…

layui栅格布局问题

在使用layer.open弹出到窗口中&#xff0c;使用布局一直不起作用。 开始到写法如下, 目的是一行分成左右两块&#xff0c;比例为8:4等分。 <div class"layui-fluid"><div class"layui-row layui-col-space10"><div class"layui-col-md…

Unity3d载入外部图片文件

unity里的图片在生成时会压缩成资源文件&#xff0c;有时客户想自己放一些图片用unity显示&#xff0c;就必须载入外部图片。 大体思路&#xff1a;用Application.streamingAssetsPath或Application.dataPath来指定存放图片的相对路径。用DirectoryInfo获得目录。遍历后FileInf…

Linux06-服务、守护进程和systemd

目录 一、简介systemd 二、使用systemd 2.1、systemctl命令与systemd单元 2.2、控制系统服务 一、简介systemd RHEL6及以前&#xff0c;系统启动和服务器进程是由第一个进程 init 管理&#xff0c;init按顺序启动、启动慢。 RHEL7以后系统启动和服务器进程由 systemd系统和…

ORB_SLAM2回环检测

词典是特征点的描述子的集合&#xff0c;属于同一类特征的特征点的描述子组成单词。 在局部建图线程中&#xff0c;处理完一个关键帧后&#xff0c;会将其放入回环检测线程     在使用关键帧数据库搜索候选关键帧组&#xff08;DetectLoopCandidates&#xff09;的时候&…

nginx 启动 + uwsgi + django

https://www.cnblogs.com/chenice/p/6921727.html https://blog.csdn.net/Aaroun/article/details/78218131转载于:https://www.cnblogs.com/pythonClub/p/9746866.html

poj1741(树的点分治)

题目连接&#xff1a;POJ - 1741 看了好长时间才明白了点...... 网上讲解很多但感觉都不够详细。。。大概是太弱了吧-_-|| 学通了再回来写详解。。。 1 #include<iostream>2 #include<cstring>3 #include<cstdio>4 #include<algorithm>5 #define LL lo…

Android 串口通讯

概念 串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方式的扩展接口。串行接口&#xff08;Serial Interface&#xff09;是指数据一位一位地顺序传送。其特点是通信线路简单&#xff0c;只要一…

Linux07-OpenSSH

目录 一、使用SSH访问远程主机 1.1、什么是OpenSSH Secure Shell&#xff08;SSH&#xff09; 1.2、SSH主机密钥 二、配置基于SSH密钥的身份验证 2.1、基于SSH密钥的身份验证 2.2、自定义SSH服务配置 2.3、sftp传输文件 一、使用SSH访问远程主机 1.1、什么是OpenSSH Se…

ORB_SLAM2中的Sim3变换

对于双目、RGB-D相机&#xff0c;可获得深度&#xff0c;因此不存在尺度问题&#xff0c;因此Sim3中的尺度s1。 &#xff08;1&#xff09;通过词袋加速算法实现当前帧、闭环帧的特征点的匹配&#xff0c;建立闭环帧的路标点和当前帧的特征点间的联系。 &#xff08;2&#xff…

Ubuntu16.04 下的网易云出现网络异常、无法播放,界面无响应问题的统一解决

能够在Linux系统下体验到原生界面的网易云音乐是件不错的事情&#xff0c;但是它总是经常性的出现网络异常&#xff0c;界面无响应的问题 为了听歌的体验&#xff0c;进行深入探究&#xff1a; 首先通过终端启用网易云音乐&#xff1a;sudo netease-cloud-music 会得到网易云音…