1、打开网页
from selenium import webdriver #导入库
driver = webdriver.Firefox() #打开浏览器
driver.get("http://www.baidu.com") #打开百度
print(driver.current_url) #可查看当前打开的网址
print(driver.title) #获取当前页面的标题
2、元素定位
打开网页后,需要确定所操作控件的位置,因而通过下列常见元素进行定位。(若使用火狐浏览器,可安装try xpath插件进行网页元素查找)。
选择所需查看的控件,右键-查看元素(即可定位到相应的元素描述),下面将以百度搜索框为例介绍id、name和class name查找元素。
- id:通过id定位元素,find_element_by_id("kw")
- name:通过name定位元素,find_element_by_name("wd")
- class name:通过class name定位元素,find_element_by_class_name("s_ipt")
在选择元素后,需要对元素进行操作。元素的操作方式有:
- clear:清除元素内容
- send_keys:模拟按键输入
- click:点击
- submit:提交表单
ele1 = driver.find_element_by_id('kw') #通过id查找元素
ele1.send_keys("你好")
but1 = driver.find_element_by_id("su") #点击百度一下按键
but1.click()
ele1.clear()
ele2 = driver.find_element_by_name("wd") #通过name查找元素
ele2.send_keys("baidu")
but1.click()
ele2.clear()
ele3 = driver.find_element_by_class_name("s_ipt") #通过class name查找元素
ele3.send_keys("day day up")
but1.click()
- link text:通过链接查找元素,如查找百度首页的新闻,find_element_by_link_text("新闻")
- partial link test:通过相关字符查找元素(模糊查找),如查找百度首页的新闻,find_element_by_partial_link_text("新")
- css selector:通过css定位元素,(在网页中定位确定css的方法:选择控件,右键-查看元素,选择定位元素区域,右键-复制-css路径,可获取到css),如百度首页把百度设为主页css定位:find_element_by_css_selector("html body div#wrapper div#ftCon div.ftCon-Wrapper div#ftConw p#lh a")
driver.get("http://www.baidu.com") #打开百度
ele4 = driver.find_element_by_link_text("新闻") #查找百度首页的新闻
ele4.click()
driver.get("http://www.baidu.com") #打开百度
ele5 = driver.find_element_by_partial_link_text("新")
ele5.click()
driver.back()
ele6 = driver.find_element_by_css_selector("html body div#wrapper div#ftCon div.ftCon-Wrapper div#ftConw p#lh a") #打开把百度设为主页
ele6.click()
补充代码中如何添加作者信息:
settings-》Editor-》File and Code Templates
个人信息模板如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : ${DATE} ${TIME}
# @Author : name
# @File : ${NAME}.py