selenium +chromdriver模块
1 selenium
模拟浏览器行为
2 chromdriver 对应的chrome浏览器驱动 下载地址
注意:chrome与chromdriver存在对应关系
以下错误就可能是版本不对应导致
简单的示例
131专用 此处指定的是2台不同电脑
"""
Description:网强自动登录脚本
Author:Nod
Date:18-05-03
Record:1 关键在于chrome的driver要与chrome的版本相对应
#---------------------------------v1-----------------------------------#
"""
from selenium import webdriver
import requests
import time
from selenium.webdriver.common.by import By #按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys #键盘按键操作
driver=webdriver.Chrome() #弹出浏览器
time.sleep(1)
driver.get('http://172.20.90.114:8080/StormWeb/')
time.sleep(1)
#将浏览器最大化操作
driver.maximize_window()
#获取输入用户名的地方
input_loginName=driver.find_element_by_id('loginName')
#清掉原先的内容
input_loginName.clear()
#输入用户名
input_loginName.send_keys('admin')
#获取密码
input_pwd=driver.find_element_by_id('pwd')
#输入密码
input_pwd.send_keys('nstrong')
#输入回车
input_pwd.send_keys(Keys.ENTER)
#等待8s 给浏览器解析时间
time.sleep(8)
#如果不需要打开拓扑就将下面一段代码注释
#driver.find_element_by_id('shutter4').click() #[0].click()
244专用
"""
Description:网强自动登录脚本
Author:Nod
Date:18-05-03
Record:1 关键在于chrome的driver要与chrome的版本相对应
#---------------------------------v1-----------------------------------#
"""
from selenium import webdriver
import requests
import time
from selenium.webdriver.common.by import By # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys # 键盘按键操作 driver = webdriver.Chrome() # 弹出浏览器
time.sleep(1)
driver.get('http://172.20.90.114:8080/StormWeb/')
time.sleep(1)
# 将浏览器最大化操作
driver.maximize_window()
# 获取输入用户名的地方
input_loginName = driver.find_element_by_id('loginName')
# 清掉原先的内容
input_loginName.clear()
# 输入用户名
input_loginName.send_keys('admin')
# 获取密码
input_pwd = driver.find_element_by_id('pwd')
# 输入密码
input_pwd.send_keys('nstrong')
# 输入回车
input_pwd.send_keys(Keys.ENTER)
# 等待8s 给浏览器解析时间
time.sleep(8)
# 打开拓扑
driver.find_element_by_id('shutter4').click() # [0].click()
现在有个情况;我个人坚持的观点是;Python程序写好了,但是客户机没有开发环境;简单的说就是没有开发环境;我们不能要求客户机新增python环境;
为了解决这一方法;我们常用pyinstaller打包工具
进行打包;pyinstaller的详细使用
那么针对此程序中需要调动chromdriver;我们之前默认是将chromdriver放在python安装目录的script下;基于此解决方法是,修改程序部分代码为
#driver = webdriver.Chrome(r'C:\chromedriver\chromedriver_x64.exe')
在c盘创建chromedriver并将驱动放进去;
最后执行pyinstaller打包;整个程序就能运行了;
经测试程序脚本已上线运行
selenium +chromdriver模块的更多相关文章
- python爬虫---单线程+多任务的异步协程,selenium爬虫模块的使用
python爬虫---单线程+多任务的异步协程,selenium爬虫模块的使用 一丶单线程+多任务的异步协程 特殊函数 # 如果一个函数的定义被async修饰后,则该函数就是一个特殊的函数 async ...
- selenium+chromdriver 动态网页的爬虫
# 获取加载更多的数据有 2 种方法# 第一种就是直接找数据接口, 点击'加载更多' 在Network看下, 直接找到数据接口 # 第二种方法就是使用selenium+chromdriver # se ...
- requests+selenium==requestium模块介绍
有时,你可能会在网上实现一些自动化操作.比如抓取网站,进行应用测试,或在网上填表,但又不想使用API,这时自动化就变得很必要.Python提供了非常优秀的Requests库可以辅助进行这些操作.可惜, ...
- selenium===splinter模块和selenium异曲同工
学习文档: http://splinter.readthedocs.io/en/latest/ 安装以后用它来实现163邮箱的登陆操作:*和selenium一样,splinter同样需要对frame进 ...
- selenium===requestium模块介绍
有时,你可能会在网上实现一些自动化操作.比如抓取网站,进行应用测试,或在网上填表,但又不想使用API,这时自动化就变得很必要.Python提供了非常优秀的Requests库可以辅助进行这些操作.可惜, ...
- 浏览器行为模拟之requests、selenium模块
requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...
- 全程干货,requests模块与selenium框架详解
requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...
- 用selenium 模块控制浏览器
11.8 用selenium 模块控制浏览器selenium 模块让Python 直接控制浏览器,实际点击链接,填写登录信息,几乎就像是有一个人类用户在与页面交互.与Requests 和Beautif ...
- selenium python (一) 开发环境搭建
1.工具下载: python工具共包括三个:python.setuptools.pip ² python:http://python.org/getit/ python开发环境: ² se ...
随机推荐
- DFS 之 全排列
题目描述输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 我们可以模拟出n个盒子和n张卡片,我们需要将n张卡片分别放到n个盒子里,且每个盒子只能放1张卡 ...
- 网络(socket)编程
一.网络协议 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系: ...
- Python- - -基础目录
一.Python.pycharm的介绍与安装. 二.变量.整数.字符串.列表.字典.集合. 三.运算符.格式化输出.流程控制语句. 四.break和continue. 五.range.enumerat ...
- sqlplus的非交互式使用
sqlplus交互界面存在的问题 sqlplus的两种非交互式使用方式 1 通过外部命令文件 2 通过标准输入 利用管道做兴许处理 须要注意的地方 一个简单的脚本 1 sqlplus交互界面存在的问题 ...
- nio 序列化
1.序列化 public class SerializeUtils<T extends Serializable> { public byte[] serialize(T t) { byt ...
- python笔记13-文件读写
1.打开文件 f=open('a.txt','a+',encoding='utf-8')#f代表的是文件对象,叫句柄 f.seek(0)把文件指针到最前 文件打开模式有3种: 1:w写模式,它是不能读 ...
- SVG路径PATH
SVG路径PATH 在使用之前建议下个PS或者FLASH玩玩里面的钢笔工具(FLASH里的钢笔工具比PS里的好用) PATH用到的指令: M----(X Y):移动到 Z----(none):关闭路径 ...
- unity3d平铺图片
using System;using System.Linq;using System.Text;using System.Reflection;using System.Collections;us ...
- Java学习笔记34(sql基础 :增删改查1)
create database qy97;/*创建数据库*/ use qy97; /*使用数据库 use 数据库名*/ show tables; /*查看所有的表*/ select database( ...
- 周强201771010141《面向对象程序设计(java)》第六周学习总结
枚举是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁,安全性以及便捷性.创建枚举类型要使用enum关键字,隐含了 ...