selenium的web自动化实战

selenium自动化原理:

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自动化实例:

实现前程无忧搜索深圳的测试工程师岗位,并抓取到控制台中:

#导入selenium
from 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()

  

猜你喜欢

转载自www.cnblogs.com/hhs1998/p/11771419.html
今日推荐