一、 环境准备
1. python 3.8 工具采用的pycharm 方便安装
2. selenium Web应用程序的自动化测试工具
备注:此处以火狐来进行演示。下载火狐安装包+火狐浏览器驱动文件
3.配置环境变量
python的环境变量配置(安装的时候可以自动配置)
浏览器驱动环境变量配置(path配置火狐浏览器的安装目录,并将驱动文件放在安装目录下,如: C:\Program Files\Mozilla Firefox)
二、爬虫demo
方式一、BeautifulSoup 主要用于静态网页,处理速度快。附上如下例子,仅供学习。
from urllib.request import urlopen from bs4 import BeautifulSoup from xpinyin import Pinyin prov = input("请输入省份:") city = input("请输入城市:") pin = Pinyin() prov_pin = pin.get_pinyin(prov,'') city_pin = pin.get_pinyin(city,'') moji_url = "https://tianqi.moji.com/weather/china/" moji_url = moji_url + prov_pin + '/' + city_pin url = urlopen(moji_url) soup = BeautifulSoup(url, 'html.parser') alert = soup.find('div', class_="wea_alert clearfix").em print(prov + city+ "天气:") print("空气质量:" + alert.string) weather = soup.find('div', class_="wea_weather clearfix") print("当前温度:" + weather.em.string + "℃") print("天气:" + weather.b.string) weather = soup.find('div', class_="wea_about clearfix") print("当前湿度:" + weather.span.string) print("风级:" + weather.em.string)
方式二 selenium 主要用于动态页面,查找速度慢,需要配置浏览器
from selenium import webdriver from time import sleep browser = webdriver.Firefox() browser.get("https://www.baidu.com/") input_element = browser.find_element_by_id('kw') input_element.send_keys("xxx") # 找到“百度一下”的按钮,点击一下按钮 button = browser.find_element_by_id('su') #点击按钮 button.click() #浏览器退出 browser.quit() #刷新浏览器 #browser.refresh() #设置浏览器的大小 #browser.set_window_size(1400,800) #设置链接内容 #element=browser.find_element_by_link_text("新闻") #element.click()
学习的相关内容总结
显示等待:有条件、根据一定的条件与最长时间;
隐式等待:无条件、查找dom元素是否出现,若没出现继续等待查找直到超过设置时间;