zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    postgres column reference "id" is ambiguous
    网络 内网穿透frp
    odoo12 支付宝在线支付
    odoo 账号登录不上,重置密码也不管用
    odoo 取消保存提示
    聊聊redis分布式锁的8大坑 转载
    用 Keepalived+HAProxy 实现高可用负载均衡的配置方法 转载
    Nginx+keepalived 实现高可用,常用防盗链及动静分离配置 转载
    Git 实用技巧记录 转载:https://mp.weixin.qq.com/s/o6FvGfiG9b57xTeXlBzzQQ
    5 个冷门但非常实用的 Kubectl 使用技巧,99% 的人都不知道 https://mp.weixin.qq.com/s/h4_KRmsVSnlqCmIJh0altA
  • 原文地址:https://www.cnblogs.com/superbaby11/p/6093033.html
Copyright © 2011-2022 走看看