zoukankan      html  css  js  c++  java
  • 【虫师讲Selenium+Python】第三讲:操作测试对象

    一、首先呢,选择一个编辑器,我们这里选择的是Sublime Text

    >Ctrl+B为运行当前脚本的快捷方式

    二、编写代码

     1 #coding==utf-8
     2 from selenium import webdriver
     3 from time import sleep
     4 
     5 driver=webdriver.Chrome()
     6 driver.get("http://www.baidu.com")
     7 #driver.get("http://m.mail.10086.cn")
     8 
     9 print("浏览器最大化")
    10 driver.maximize_window() #将浏览器最大化显示
    11 '''
    12 #参数数字为像素点,当测试一个手机屏幕的时候,就有必要将浏览器的大小设置为手机屏幕的大小
    13 print("设置浏览器宽480、高800显示")
    14 driver.set_window_size(480,800) #400代表宽度,800代表高度
    15 '''
    16 driver.find_element_by_link_text(u"新闻").click()
    17 
    18 sleep(2)
    19 #访问新闻页面
    20 first_url="http://news.baidu.com"
    21 print("back to %s" %(first_url))
    22 driver.back()
    23 sleep(2)
    24 
    25 #前进到新闻页
    26 second_url="http://news.baidu.com"
    27 print("forward to %s"%(second_url))
    28 driver.forward()
    29 sleep(2)

     2.鼠标事件、键盘事件

    3.设置等待时间

    1)sleep(3) #固定休眠时间3s

    2) driver.implicitly_wait(30) #添加只能等待30s,如果30s只能之内显示了id为su的的元素,则继续运行脚本,如果超过30s才显示此元素,则抛出异常。

        driver.find_element_by_id("su").click()

    3)WebDriverWait(driver,10,1).until(lambda driver:driver.find_element_by_id("kw")) #此方法为智能等待。语句解释说明:括号中driver--定义的,10--最大等待时间,1每秒检查一次元素是否可见,如果没有第三个参数,那么默认0s检查一次元素是否可见。until判断元素是否可见,

    举例说明:

     ————————————————————————————————————————

    判断百度输入框的可见性,如果可见,则在输入框中输入“selenium”

    aa=WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id("kw"))

    aa.send_keys("selenium")

    运行代码如下:

     1 #coding==utf-8
     2 from selenium import webdriver
     3 #导入WebDriverWait包
     4 from selenium.webdriver.support.ui import WebDriverWait
     5 #导入time包
     6 from time import sleep
     7 
     8 driver=webdriver.Chrome()
     9 driver.get("http://www.baidu.com")
    10 #判断百度首页的输入框是否存在,如果存在,输入框中输入selenium
    11 aa=WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id("kw"))
    12 aa.send_keys("selenium")

    ————————————————————————————————————————

     ————————————————————————————————————————————————————

    第八节:定位一组对象

    如果想打开本地的一个文件,那么需要导入本地的os模块。(import os)

    第九节:层级的定位

    二次定位:

    二次定位:

    第十节:定位frame中的对象

     

     

  • 相关阅读:
    python 字典
    python 列表、元组 for 循环
    python字符串
    python之while 循环 格式化、运算符、编码
    Python变量命名的规范、if else 条件语句
    Linux文件管理-主题2
    Linux系统管理-主题1
    Linux操作系统零基础入门学习3
    CCF--二十四点
    第一个Python程序
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/7067567.html
Copyright © 2011-2022 走看看