码迷,mamicode.com
首页 > 编程语言 > 详细

selenium2 python范例

时间:2016-11-23 12:33:37      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:div   pass   解决   file   next   data-   body   argument   not   

selenium2 python范例

下面脚本的功能是:打开谷歌浏览器--》跳转到某个网址--》输入用户名和密码登录--》读取页面内的数据并求和。

 1 # coding=utf-8 #编码声明
 2 import time
 3 from selenium import webdriver
 4 
 5 # 跳转到首页
 6 driver = webdriver.Chrome()  # Optional argument, if not specified will search path.
 7 driver.implicitly_wait(15)
 8 driver.get(http://xxx.xxx.xxx)  # 网址
 9 # driver.maximize_window()
10 time.sleep(5)  # Let the user actually see something!
11 loginButton1 = driver.find_element_by_id(login)  # 通过id定位元素
12 loginButton1.click()
13 driver.find_element_by_id(username).send_keys(‘xxxxxx)  # 用户名
14 driver.find_element_by_id(password).send_keys(yyyyyy)  # 密码
15 time.sleep(5)
16 driver.find_element_by_xpath(//button[@type="submit"]).click() # 通过xpath定位元素
17 time.sleep(5)  # Let the user actually see something!
18 
19 # 设置机构
20 driver.find_element_by_xpath("//*[@id=‘profile-messages‘]/a/b").click()
21 driver.find_element_by_xpath("//*[@id=‘profile-messages‘]/ul/li[3]/a").click()
22 time.sleep(5)
23 # 作品排行
24 driver.find_element_by_xpath("//*[@id=‘articles_Rank‘]/a").click()
25 # 全部媒体
26 driver.find_element_by_xpath("//*[@id=‘media_0‘]").click()
27 # 设置时间
28 driver.find_element_by_xpath("//*[@id=‘reservation‘]").click()
29 driver.find_element_by_xpath("//div[@class=‘calendar left‘]//th[@class=‘prev available‘]").click()
30 driver.find_element_by_xpath("//div[@class=‘calendar left‘]//td[@data-title=‘r0c6‘]").click()  # 10月1号
31 driver.find_element_by_xpath("//div[@class=‘calendar right‘]//th[@class=‘prev available‘]").click()
32 driver.find_element_by_xpath("//div[@class=‘calendar right‘]//td[@data-title=‘r5c1‘]").click()  # 10月31号
33 driver.find_element_by_xpath("//body/div[8]/div[1]/div/button[1]").click()
34 
35 # 读取目标并求值
36 time.sleep(1)  # 加入延时,解决“click操作后立刻查找的元素使用element.text,报stale element错误”的问题
37 total = int(0)
38 elementList = driver.find_elements_by_xpath("//*[@id=‘articleContent‘]//td[5]")
39 for element in elementList:
40     text2 = element.text
41     value = int(text2)
42     total = total + value
43 hasNext = False
44 while 1:
45     buttonList = driver.find_elements_by_xpath("//*[@id=‘page‘]//a")
46     pageButton = buttonList[len(buttonList)-1]
47     if pageButton.text == "Next":
48         hasNext = True
49         driver.execute_script("arguments[0].scrollIntoView();", pageButton)  # 执行js语句,通过滚动页面,将不在视野内的元素挪到视野内。
50         pageButton.click()
51     else:
52         hasNext = False
53         driver.quit()
54         break
55     if hasNext:
56         time.sleep(1)
57         elementList = driver.find_elements_by_xpath("//*[@id=‘articleContent‘]//td[5]")
58         for element in elementList:
59             text1 = element.text
60             value = int(text1)
61             total = total + value
62             print "value: " + str(value)
63             print "total: " + str(total)
64 
65 
66 #
67 driver.quit()

 

selenium2 python范例

标签:div   pass   解决   file   next   data-   body   argument   not   

原文地址:http://www.cnblogs.com/superbaby11/p/6093033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!