本文主要是运用selenium模块模拟登陆新浪微博
代码语言:javascript复制python webdriver环境搭建教程:http://blog.csdn.net/nanjunxiao/article/details/7957326
# -*- coding: utf-8 -*-
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
iedriver = "C:Program FilesInternet ExplorerIEDriverServer.exe"
os.environ["webdriver.ie.driver"] = iedriver #调用IE浏览器
browser = webdriver.Ie(iedriver)
browser.get('http://weibo.com/') #需要打开的网址
user = browser.find_element_by_id("loginname") #审查元素username的id
user.send_keys("11111") #输入账号
password = browser.find_element_by_name("password") #审查元素password的name
password.send_keys("1234") #输入密码
password.send_keys(Keys.RETURN) #实现自动点击登陆
print('登陆成功')
注:可以在cmd下通过命令安装selenium模块:pip install selenium 或者 easy_install selenium。
分析网页控件id:
可以看出username可以通过id定位,而password则没有id,通过name定位。
*附: selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种:
*通过id定位元素:find_element_by_id(“id_vaule”) 通过name定位元素:find_element_by_name(“name_vaule”) 通过tag_name定位元素:find_element_by_tag_name(“tag_name_vaule”) 通过class_name定位元素:find_element_by_class_name(“class_name”) 通过css定位元素:find_element_by_css_selector();用css定位是比较灵活的 通过xpath定位元素:find_element_by_xpath(“xpath”) 通过link定位:find_element_by_link_text(“text_vaule”)或find_element_by_partial_link_text()*