黑马程序员技术交流社区

标题: 【上海校区】selenium的web自动化实战 [打印本页]

作者: 梦缠绕的时候    时间: 2019-11-1 08:53
标题: 【上海校区】selenium的web自动化实战
1.通过各种语言(python,java,ruby等)调用接口库
2.通过浏览器驱动(web driver)来驱动浏览器

利用Python自动化的环境安装:
1.python解释器与pycharm集成开发环境的安装---安装过程
2.客户端库的安装:打开cmd,输入:pip install selenium
3.安装浏览器与浏览器驱动(驱动下载至那里都行)
谷歌浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
选择相应的系统,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()






作者: 梦缠绕的时候    时间: 2019-11-1 08:53
有任何问题欢迎在评论区留言
作者: 梦缠绕的时候    时间: 2019-11-1 08:53
或者添加学姐微信
DKA-2018
作者: uukk.    时间: 2019-11-24 03:43
这个。。。。。。。。。。。。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2