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() |