Selenium官方网站 http://selenium-python./ 配置使用环境下载相应的浏览器驱动, Firefox 是默认的
文档参考官方文档 : Selenium with Python 一份简单的测试 demo1 #coding=utf-8 2 from selenium import webdriver 3 import os 4 import time 5 # set little time stop and big time stop for viewing changes 6 little_time_stop = 1 7 big_time_stop = 2 8 # 默认广告条数 9 ads_num_require = 8 10 # 请求连接 11 req_url = "http://www.haosou.com/s?ie=utf-8&shb=1&src=360sou_newhome&q=%E9%B2%9C%E8%8A%B1" 12 # 打开浏览器 13 14 browser = webdriver.Chrome() 15 # 开始请求 16 17 browser.get(req_url) 17 # 获取所有的广告 18 19 all_ads_li = browser.find_elements_by_css_selector('#e_idea_pp li') 20 # 当前广告条数 21 ads_num_current = len(all_ads_li) 22 print "Has been got %d ads" %(ads_num_current) 23 # 如果广告条数与默认不符 24 if ads_num_current < ads_num_require: 25 print "The number of ads is not enough ( current : %d require: %d)" %(ads_num_current,ads_num_require) 26 # exit() 27 # 获取顶部连接 28 i = 0 29 for ads_li in all_ads_li: 30 time.sleep(big_time_stop) 31 i = i+1 32 print "ads %d :" %i 33 try: 34 main = ads_li.find_element_by_css_selector('h3 a') 35 except: 36 print "\tError: ads %d cann't find" %(i) 37 else: 38 print "\tReady: visit ads %d" %(i) 39 main.click() 40 print "\tSucess: visit ads %d" %(i) 41 time.sleep(little_time_stop) 42 try: 43 img_link = ads_li.find_element_by_class_name('e_biyi_img') 44 except: 45 print "\tError : no img in ads %d " %(i) 46 else: 47 print "\tReady : visit img_link %d" %(i) 48 img_link.click() 49 print "\tSuccess : visit img_link %d" %(i) 50 time.sleep(little_time_stop) 51 try: 52 child_div = ads_li.find_element_by_class_name('e_biyi_childLink'); 53 except: 54 print "\tError : no child link in ads %d" %(i) 55 else: 56 try: 57 child_links = child_div.find_elements_by_css_selector('a') 58 except: 59 print "\tError : find child_links error" 60 else: 61 num_links = len(child_links) 62 print "\tSuccess : there are %d child_links" %(num_links) 63 j = 0 64 for child_a in child_links: 65 j = j + 1 66 print "\t\tReady : visit child link %d in ads %d" %(j, i) 67 child_a.click() 68 print "\t\tSuccess : visit child link %d in ads %d" %(j, i) 69 time.sleep(little_time_stop) 70 print "End and thanks for your using!" 71 # 下面代码选择取消注释 72 # 延时 73 # time.sleep(5) 74 # 关闭当前窗口 75 # browser.close() 76 # 关闭所有已经打开的窗口 77 # browser.quit() 定位操作以下是所有定位操作的 API : 返回一个匹配元素, 即一个 WebElement 元素 关于 API 的具体介绍, 请参考 : 使用的时候需注意下面几点 :
这两种对象都可以使用这些 API
因此必须使用
WebDriver 的使用开始的时候必须要有初始化一个
接着, 就可以使用以上 API 进行当前页面的全局查找, 比如 :
WebElement 的使用
WebDriver 的一些常用操作
具体参照 : module-selenium.webdriver.remote.webdriver WebElement 的一些常用操作
|
|
来自: 昵称62125662 > 《Selenium》