基于python 3 的selenium

2020-01-09 14:26:54 浏览数 (1)

本文主要是运用selenium模块模拟登陆新浪微博

python webdriver环境搭建教程:http://blog.csdn.net/nanjunxiao/article/details/7957326


代码语言:javascript复制
# -*- 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()*

0 人点赞