selenium2 python范例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium2 python范例相关的知识,希望对你有一定的参考价值。

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范例的主要内容,如果未能解决你的问题,请参考以下文章

虫师Selenium2+Python_3Python基础

python selenium2 窗口切换实例

python selenium2示例 - email发送

Selenium2+python自动化63-二次封装(click/send_kesy)

《selenium2 python 自动化测试实战》——定位iframe

《selenium2 python 自动化测试实战》——切换窗口