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. input 标签的 disabled 和 readonly 属性

    首先这两种属性都会使显示出来的文本框不能输入. disabled 属性:规定禁用 input 元素.被禁用的 input 元素既不可用,也不可点击和编辑,使用 tab 键时将会被跳过,用户的所有操作对 ...

  2. mysql 主从配置,主-》windows,从-》centos6.5

    1.虚拟机配置的主从关系.win7 ip地址192.168.52.102,虚拟机ip 192.168.184.128.docs进入主服务器(master)mysql目录下,添加用户,然后执行mysql ...

  3. vscode plugins

    ├─ .obsolete├─ .wlck├─ .wtid├─ abeyuhang.vscode-lesslint-0.0.1├─ abierbaum.vscode-file-peek-1.0.1├─ ...

  4. Php基本类型学习

    1.8种基本的数据类型 1)四种基本类型 boolean (布尔类型) integer(整形类型) double  (双精度类型) string  (字符串类型) 2)两种复合类型 array (数组 ...

  5. Spring Boot + Spring Cloud 实现权限管理系统 (系统服务监控)

    系统服务监控 新建监控工程 新建Spring Boot项目,取名 kitty-monitor,结构如下. 添加项目依赖 添加 spring boot admin 的相关依赖. pom.xml < ...

  6. JQ 查找 两个同辈元素之间 的同辈元素 nextUntil() 用于做一个多级菜单

    可以应用的地方,参考了淘宝的API菜单列表 我自己的应用

  7. C语言:统计数字空格其他字符程序

    #include <stdio.h> int main(){ char t; int num=0; int spac=0; int other=0; int sum=0; printf(& ...

  8. socket练习--ssh

    服务器端: # -*-coding:utf-8-*- # Author:sunhao import socket import os server = socket.socket() ip_port ...

  9. JavaScript 注意要点

    何时加引号: 只有变量不加引号.加了引号的一定不是变量,是字符 方法:     方法一律带有小括号 js 中的作用域    全局变量: 在最外层定义的变量: 在函数体内部看是没有声明var的 也是全局 ...

  10. 深入理解Java中的synchronized锁重入

    问题导入:如果一个线程调用了一个对象的同步方法,那么他还能不能在调用这个对象的另外一个同步方法呢? 这里就是synchronized锁重入问题. 一.synchronized锁重入 来看下面的代码: ...