selenium 使用随笔

   今天闲来无事,有朋友问到,如何使用selenium。于是便便写了个简单的脚本,用于讲解其基础用法。

   selenium常用作web自动化测试。通过跟python或其他语言的结合,可以驱动浏览器,并在浏览器上进行以往需要人工点击或者输入的操作(如输入文字,点击按钮等等)

    一 安装

    1 安装selenium

    目前selenium的最新版本为3.5.0,使用python的同学,安装起来非常方便,只需要以下一条语句:

      pip install selenium

    2 安装浏览器对应的插件,本例中使用的是win7b4bit,Firefox浏览器,所以要下载对应的驱动:geckodriver-v0.18.0-win64.zip。以下是下载的地址

      https://github.com/mozilla/geckodriver/releases

     下载之后,解压,并将目录添加到系统的环境变量中。由于我偷懒,这一步没有执行,直接在代码中指定了geckdriver所在的目录。

 二 实例

  本实例中,访问淘宝的注册页面,并进入到手机验证码的页面。

  1 要解决的问题:

    淘宝注册页面的主页,有一个协议弹出框:   

  点击“同意协议按钮后”,在页面中需要输入手机号,滑动解锁,点击“下一步”的按钮

 

  2 代码及注释

 1 # -*- coding: utf-8 -*-
 2 
 3 from selenium import webdriver
 4 from selenium.webdriver import ActionChains         #用于移动滑块
 5 import time
 6 
 7 #初始化驱动,并且打开网页
 8 driver = webdriver.Firefox(executable_path='D:/geckodriver/geckodriver.exe')
 9 driver.get('https://reg.taobao.com/member/reg/fill_mobile.htm')
10 
11 #点击确认按钮
12 alert = driver.find_element_by_id("J_AgreementBtn")
13 alert.click()
14 
15 #填入手机号
16 phone_input = driver.find_element_by_id("J_Mobile")
17 phone_input.clear()
18 phone_input.send_keys("135XXXXXXXX")    
19 
20 #移动滑块
21 source = driver.find_element_by_id("nc_1_n1z")
22 target = driver.find_element_by_xpath('//span[@data-nc-lang="_startTEXT"]')
23 action_chains = ActionChains(driver)
24 
25 # 先选中滑块并按住鼠标左键,然后移动滑块
26 action_chains.click_and_hold(source).perform()
27 action_chains.move_by_offset(300,0).perform()
28 time.sleep(2)
29 
30 #注意,以下使用的是css_selector,因为使用id的话,会定位到未启用的按钮上而出错
31 #在本例中,此按钮未启用前的class为"btn btn-large tsl btn-disabled"
32 next_button = driver.find_element_by_css_selector('[class="btn btn-large tsl"]')
33 next_button.click()

 

转载于:https://www.cnblogs.com/easouchen/p/7405965.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值