1.通过各种语言(python,java,ruby等)调用接口库 2.通过浏览器驱动(web driver)来驱动浏览器
利用Python自动化的环境安装: 1.python解释器与pycharm集成开发环境的安装---安装过程 2.客户端库的安装:打开cmd,输入:pip install selenium 3.安装浏览器与浏览器驱动(驱动下载至那里都行) 选择相应的系统,windows64位也可选win32.zip
自动化中的对象: Webdriver实例对象(浏览器驱动对象-控制浏览器) WebElement实例对象(浏览器元素对象)
python + selenium自动化实例: 实现前程无忧搜索深圳的测试工程师岗位,并抓取到控制台中: [size=1em]1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| #导入seleniumfrom selenium import webdriver#导入谷歌浏览器驱动赋值为driver
driver = webdriver.Chrome(r'H:\Pycharm\chromedriver.exe')#让驱动暂停10s,防止页面渲染未完成无法获取数据
driver.implicitly_wait(10)#通过驱动的get方法打开前程无忧官网
driver.get('http://www.51job.com')#通过id找到输入框并设置其内容为测试工程师
driver.find_element_by_id("kwdselectid").send_keys('测试工程师')#通过id找到城市选择的按钮并点击
driver.find_element_by_id("work_position_input").click()
#获取热门城市中每一个城市的em标签
cityEles = driver.find_elements_by_css_selector('#work_position_click_center_right_list_000000 em')
for city in cityEles:
cityName = city.text #打印城市名字
selected = city.get_attribute('class') =='on' #查看每个城市是否被选中
if (cityName == '深圳'and not selected) or (cityName !='深圳' and selected): #如果深圳没被选择 或者 除深圳以外都被选中 则点击
city.click()
#获取确定按钮并点击
driver.find_element_by_id('work_position_click_bottom_save').click()#获取搜索按钮并点击
driver.find_element_by_css_selector('.ush button').click()#获取测试岗位信息的所有行
jobs = driver.find_elements_by_css_selector('#resultList div.el')#打印职位信息
for job in jobs:
filelds = job.find_elements_by_tag_name('span')
strField = [fileld.text for fileld in filelds]
print (' | '.join(strField))
driver.quit()
|
|