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模块的更多相关文章

  1. python爬虫---单线程+多任务的异步协程,selenium爬虫模块的使用

    python爬虫---单线程+多任务的异步协程,selenium爬虫模块的使用 一丶单线程+多任务的异步协程 特殊函数 # 如果一个函数的定义被async修饰后,则该函数就是一个特殊的函数 async ...

  2. selenium+chromdriver 动态网页的爬虫

    # 获取加载更多的数据有 2 种方法# 第一种就是直接找数据接口, 点击'加载更多' 在Network看下, 直接找到数据接口 # 第二种方法就是使用selenium+chromdriver # se ...

  3. requests+selenium==requestium模块介绍

    有时,你可能会在网上实现一些自动化操作.比如抓取网站,进行应用测试,或在网上填表,但又不想使用API,这时自动化就变得很必要.Python提供了非常优秀的Requests库可以辅助进行这些操作.可惜, ...

  4. selenium===splinter模块和selenium异曲同工

    学习文档: http://splinter.readthedocs.io/en/latest/ 安装以后用它来实现163邮箱的登陆操作:*和selenium一样,splinter同样需要对frame进 ...

  5. selenium===requestium模块介绍

    有时,你可能会在网上实现一些自动化操作.比如抓取网站,进行应用测试,或在网上填表,但又不想使用API,这时自动化就变得很必要.Python提供了非常优秀的Requests库可以辅助进行这些操作.可惜, ...

  6. 浏览器行为模拟之requests、selenium模块

    requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...

  7. 全程干货,requests模块与selenium框架详解

    requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...

  8. 用selenium 模块控制浏览器

    11.8 用selenium 模块控制浏览器selenium 模块让Python 直接控制浏览器,实际点击链接,填写登录信息,几乎就像是有一个人类用户在与页面交互.与Requests 和Beautif ...

  9. selenium python (一) 开发环境搭建

    1.工具下载: python工具共包括三个:python.setuptools.pip ²  python:http://python.org/getit/     python开发环境: ²  se ...

随机推荐

  1. python----集合用法总结

    集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据集合的作用:1.它可以把一个列表中重复的数据去掉,而不需要你再写判断2.可以做关系测试,比如说有两个班 ...

  2. html5(六) 地理位置

    http://www.cnblogs.com/lhb25/archive/2012/07/10/html5-geolocation-api-demo.html http://www.w3school. ...

  3. nginx中try_files

    location / { try_files $uri $uri/ /index.php?$query_string; } 当用户请求 http://localhost/example 时,这里的 $ ...

  4. 多进程—进程同步控制,IPC

    multiprocessing包—Process模块开启多进程的两种方式,Process的方法,守护进程 进程同步控制—multiprocessing.Lock  multiprocessing.Se ...

  5. 从零开始学Shell(一)

    1.$表示普通用户,#表示超级用户.2.sh /home/path/script.sh3.chmod a+x script.sh  增加可执行权限    ./script.sh    #./表示当前的 ...

  6. OpenStack的HA方案

    一.HA服务分类 HA将服务分为两类: 有状态服务:后续对服务的请求依赖之前对服务的请求,OpenStack中有状态的服务包括MySQL数据库和AMQP消息队列.对于有状态类服务的HA,如neutro ...

  7. 项目中Java Resources有红叉,其它没有,解决办法

    说起这个这个地方,我课改了好久 起初,我把原先项目的JDK版本改了,右击项目Build Path,然后换掉里面的JRE,没用, 然后右击项目,点击properties,找到在Project Facet ...

  8. ADV7482&TP2825开发之总结

    ADV7482&TP2825开发之总结 这一两个月在项目里接触到了两个视频解码芯片,主要是使用了两颗芯片的CVBS(NTSC)解码功能.外接CVBS Video接入解码芯片,芯片8位并行输出端 ...

  9. JS两个页面通过URL传值

    1.传递参数: window.location.href = "./list.html?id="+id; 1.接收参数: (1)接收参数函数封装 function GetReque ...

  10. Js/使用js来改变css的样式

    1.一般来说我最先想到的是,通过id的方式去改变css的样式,所以有了下面这种写法: 2.第二种我想到的办法是通过改变他的class的名称,去设置 他的样式,其中用的比较多的就是这样的: