首页 > Web开发 > 详细

selenium-webdriver循环点击百度搜索结果以及获取新页面的handler

时间:2018-01-20 23:56:13      阅读:1476      评论:0      收藏:0      [点我收藏+]

 

   webdriver还是很有意思的,之前用过Ruby的watir的自动化测试框架,感觉selenium的这套框架更好一些,很容易就可以上手。我虽然不做自动化这块,不过先玩玩再说,多学点东西总之还是好一些的。

  

 1 # coding:utf-8
 2 import time
 3 from selenium import webdriver
 4 import unittest
 5 from pythontest.commlib.baselib import *
 6 
 7 
 8 #引用封装后的日志系统
 9 log = TestLog().getlog()
10 class BaiBu(unittest.TestCase):
11     u‘‘‘【百度.类】‘‘‘
12     def setUp(self):
13         self.browser = webdriver.Firefox()
14         self.browser.get("http://www.baidu.com")
15         self.browser.implicitly_wait(10)
16         #self.base = Screen(self.browser)
17 
18     def tearDown(self):
19         self.browser.quit()
20 
21     def test_search(self):
22         log.info("搜索前title:" + self.browser.title.encode("utf-8") )  #得到的title中文编码格式,非UTF-8格式,需要转码
23         #输入关键字,关键字任意
24         self.browser.find_element_by_class_name("s_ipt").send_keys(u"北京尚拓云测 软件测试外包公司")
25         self.browser.find_element_by_class_name("s_btn").submit()       #此处class属性有三个值,中间使用空格隔开,取其中一值
26         #点击搜索结果
27         self.browser.find_element_by_xpath(".//*[@id=‘2‘]/h3/a").click()        #根据xpath识别元素
28         time.sleep(3)
29         log.info("结果页:" + self.browser.title.encode("utf-8") )      #转码utf-8
30         self.assertIn("软件测试",self.browser.title.encode("utf-8"))       #断言,转码
31         time.sleep(5)
32         ‘‘‘接下来的工作,是获取新页面的handler,以及循环点击搜索结果‘‘‘
33 
34 if __name__ == "__main__":
35     unittest.main()

 

明天有时间再优化,根据id进行随机数选取。可以参考我之前Ruby的一个自动化测试框架:http://www.cnblogs.com/zhuque/archive/2012/11/30/2796866.html

 

技术分享图片

 

selenium-webdriver循环点击百度搜索结果以及获取新页面的handler

原文:https://www.cnblogs.com/zhuque/p/8322275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!