Selenium是一个基于Web的开源自动化工具。Python使用Selenium用于自动化测试。 特点是易于使用。Selenium可以将标准Python命令发送到不同的浏览器,尽管它们的浏览器设计有所不同。
今天做一个例子,使用Selenium自动打开谷歌浏览器然后访问地址http://econpy.pythonanywhere.com/ex/001.html,并将改页面中的购买者姓名和商品价格抓取下来打印,然后自动关闭浏览器的操作。页面内容截图如下:
分析页面源代码可知 购买者姓名和商品价格的html代码信息如下:
使用Selenium自动打开谷歌浏览器的时候需要下载谷歌的驱动程序,我的谷歌浏览器版本为74:
所以我们访问驱动程序下载地址:
https://sites.google.com/a/chromium.org/chromedriver/downloads
进行下载:
然后我们要使用Selenium 需要进行安装,这里使用pip install selenium。
接下来开始编码部分:
代码语言:javascript复制#导入包
from selenium import webdriver
#打开谷歌浏览器 并访问要抓取数据的地址
#注意:驱动chromedriver.exe与改python文件在同一个目录
driver = webdriver.Chrome('chromedriver.exe')
driver.get("http://econpy.pythonanywhere.com/ex/001.html")
# 使用xpath找到购买者和商品价格元素列表
buyers = driver.find_elements_by_xpath('//div[@title="buyer-name"]')
prices = driver.find_elements_by_xpath('//span[@class="item-price"]')
# 打印所有信息
num_page_items = len(buyers)
for i in range(num_page_items):
print(buyers[i].text " : " prices[i].text)
#完成任务后 关闭浏览器
driver.close()
运行结果部分内容为:
代码语言:javascript复制Carson Busses : $29.95
Earl E. Byrd : $8.37
Patty Cakes : $15.26
Derri Anne Connecticut : $19.25
Moe Dess : $19.25
Leda Doggslife : $13.99
Dan Druff : $31.57
Al Fresco : $8.49
。。。。。。
我简单录制了一下运行过程,由于单手操作录制,画面抖动,大家对付观看一下,过程为:运行程序,自动打开谷歌浏览器,访问地址,抓取数据打印,关闭浏览器完成:
今天的学习就到这里,下节见。
关注公号
下面的是我的公众号二维码图片,欢迎关注。