重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
自己管理了好几个系统,虽然实现自动监控报警,但是还还想要人工检查。为了提高效率,现在写了一个脚本实现多个系统的自动化登录。
成都创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的网站设计制作、做网站、网站维护、成都多线服务器托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城系统网站开发、政府网站等各类型客户群体,为全球上1000+企业提供全方位网站维护、服务器维护解决方案。
chrome浏览器:因为习惯了。
安装python: 机器已装python3.6.2
安装selenium: pip install selenium
安装webdriver插件:选择chrome版本对应的webdriver( http://chromedriver.chromium.org/downloads ),解压至相关目录下。
自动输入账号和密码认证,实现自动登录。
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
chromedriver = "I:\webdriver\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver) # 声明浏览器对象
username = "admin"
username1 = "root"
password = "xxxxyyyy1111"
password1 = "xxxxyyyy2222"
#1.管理系统
driver.get("https://192.168.21.6/login/login.htm")
driver.find_element_by_id("username").send_keys(username) //driver.find_element_by_id("username") 查找id方式
driver.find_element_by_id("password").send_keys(password2)
driver.find_element_by_xpath('//*[@id="form"]/form/div[5]/input').click() //driver.find_element_by_xpath 查找xpath方式
#2.管理系统1
driver.execute_script("window.open();")
driver.switch_to.window(driver.window_handles[1])
driver.get("https://192.168.21.7/zh_cn/")
driver.find_element_by_xpath('//*[@id="hs_login_tbl"]/tbody/tr[1]/td[2]/input').send_keys(username1)
driver.find_element_by_xpath('//*[@id="hs_login_tbl"]/tbody/tr[2]/td[2]/input').send_keys(password1)
注解:
driver.execute_script("window.open();")
driver.switch_to.window(driver.window_handles[1])
handles[] 中的数字代表打开第几个页签,如果后面还有管理系统,填写handles[2]。从0开始计数,代表打开第三个页签。
每个网站使用的框架不同,但是xpath很容易确定路径,解决问题。
基本说明下:
1.打开网页,按F12调出开发者工具,选到Elements页面。
2.点击页面中的输入框,此时开发者页面定为到所在代码行。
3.右键代码选择COPY-选择copy xpath。
4.复制粘贴到代码即可。
请参考“文档参考”
先打开了一个chrome浏览器,自动输入账号和密码,再打开一个新的页签,切换到新的页签,自动输入账号和密码,以此往复。
大型网站模拟登录
chrome中打开多页签
使用python+selenium实现浏览器自动登录