Selenium的使用

一、Selenium的安装

1.Selenium模块安装

输入以下命令

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/
2.浏览器驱动的下载安装

在下载浏览器驱动时,要看好浏览器的版本,浏览器不同,则驱动程序也就不同,这里我就拿我常用的Google Chrome举例吧,打开设置,然后点击关于Chrome,就可以看到自己的版本为多少了在这里插入图片描述
下载跟版本差不多的驱动,圈起来的这两个都可下载
在这里插入图片描述
下载链接:下载Chrome驱动
下载完后解压缩,将ChromeDriver.exe拷贝到指定目录,后面写代码会继续使用

二、Selenium的基本使用

from selenium import webdriver  #导入webdriver
import time
wd=webdriver.Chrome("D:/chromedriver.exe")  
#获取Chrome驱动实例,Webdriver 后的方法名是浏览器的名称,
# 参数可以省略,但是需要将驱动的路径放入到系统的环境变量中
wd.get("http://www.baidu.com")   #打开百度,wd.get(url)可以打开指定的网页。
time.sleep(3)   #睡眠3秒,否则有可能页面未加载完成
wd.close()   #关闭浏览器,wd.close()关闭 selenium 打开的浏览器。

三、元素选择器

定位一个元素定位多个元素含义
find_element_by_idfind_elements_by_id通过元素id定位
find_element_by_namefind_elements_by_name通过元素名称定位
find_element_by_tag_namefind_elements_by_tag_name通过标记名称定位
find_element_by_class_namefind_elements_by_class_name通过类名定位
find_element_by_css_selectorfind_elements_by_css_selector通过css选择器定位
find_element_by_xpathfind_elements_by_xpath通过xpath表达式定位
find_element_by_link_textfind_elements_by_link_text通过完整超链接文本定位
find_element_by_partial_link_textfind_elements_by_partial_link_text通过部分超链接文本定位

CSS 选择器的基本使用方法简要如下:
Id 选择器使用#,如“#u1”,定位 id 为 u1 的元素;类选择器使用“.”,如“.mnav”,定位所有 class 为 mnav 的元素;元素选择器直接使用标签名,如“div”,定位所有的 div;组合选择器,以上多种元素选择方式组合在一起,是使用频率最高的一类选择器。如“#u1 .pf”,定位 id 为 u1 的元素下的所有 class 为 pf 的元素;“#u1>.pf”,定位 id 为 u1 的元素下的 class 为 pf 的元素,并且要求 class 为 pf 的元素是 u1 的直接子级。

from selenium import webdriver  #导入webdriver
import time
wd=webdriver.Chrome("D:/chromedriver.exe")
wd.get("http://www.baidu.com")   #打开百度,wd.get(url)可以打开指定的网页。
time.sleep(3)   #睡眠3秒,否则有可能页面未加载完成
element=wd.find_element_by_css_selector("#s-top-left")   #定位id为s-top-left的元素
print(element.get_attribute("outerHTML")) #使用get_attribute方法来获 取元素的属性,参数可以是合法的 html标签属性
element_ul=wd.find_element_by_id("s-top-left")
print(element_ul.text) #element1.text表示获取元素的文本节点,并包括下级文本
wd.close()  #关闭浏览器

下表为常用的CSS选择器和其他选择器的对比

CSS选择器其他选择器
wd.find_element_by_css_selector("#u1")wd.find_element_by_id(“u1”)
wd.find_element_by_css_selector("[name=‘tj_trmap’]")wd.find_element_by_name(“tj_trmap”)
wd.find_element_by_css_selector(".bri")wd.find_element_by_class_name("bri)
wd.find_element_by_css_selector(“u1”)wd.find_element_by_tag_name(“u1”)
from selenium import webdriver  #导入webdriver
import time
wd=webdriver.Chrome("D:/chromedriver.exe")
wd.get("http://www.baidu.com")   #打开百度,wd.get(url)可以打开指定的网页。
time.sleep(3)   #睡眠3秒,否则有可能页面未加载完成
element=wd.find_element_by_link_text("新闻")
# print(element.get_attribute("outerHTML"))
element1=wd.find_element_by_partial_link_text("闻")
print(element1.text)
wd.close() #关闭浏览器

四、操纵元素的方法

from selenium import webdriver  #导入webdriver
import time
wd=webdriver.Chrome("D:/chromedriver.exe")
wd.get("http://www.baidu.com")   #打开百度,wd.get(url)可以打开指定的网页。
time.sleep(3)   #睡眠3秒,否则有可能页面未加载完成
wd.find_element_by_link_text("新闻").click() #点击新闻链接
wd.close() #关闭浏览器
from selenium import webdriver  #导入webdriver
import time
wd=webdriver.Chrome("D:/chromedriver.exe")
wd.get("http://www.baidu.com")   #打开百度,wd.get(url)可以打开指定的网页。
time.sleep(3)   #睡眠3秒,否则有可能页面未加载完成
#在input标签中输入数据,使用send_keys("字符串")
wd.find_element_by_id("kw").send_keys("python")  #发送数据
time.sleep(3)
wd.find_element_by_id("su").click()  #点击检索按钮
time.sleep(3)
print(wd.page_source)  #获取页面HTML文本,相当于get_html函数实现的功能。
wd.close() #关闭浏览器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值