zoukankan      html  css  js  c++  java
  • Python随手记

    1. %r

    如果我们不确定变量类型的话可以使用%r,它的含义是“不管什么都打印出来”。

    2. 关于中文字符

    python 是个容易出现编码问题的语言,有时候当我们在send_keys()方法中输入中文时,然后脚本在运行时就报编码错误,这个时候我们可以在脚本开头声明编码为utf-8,然后在中文字符的前面加个小u 就解决了(表示转成python Unicode 编码):
    #coding=utf-8
    send_keys(u"中文内容")

    需要注意的是utf-8并不是万能的,如果utf-8不能解决,可以尝试将编码声明为GBK

    3. 鼠标操作

    click()来模拟鼠标的单击操作,而我们在实际的web 产品测试中发现,有关鼠标的操作,不单单只有单击,有时候还要和到右击,双击,拖动等操作,这些操作包含在ActionChains 类中。
    ActionChains 类鼠标操作的常用方法:

      click() 单击

     context_click() 右击
     double_click() 双击
     drag_and_drop() 拖动
     move_to_element() 鼠标悬停在一个元素上
     click_and_hold() 按下鼠标左键在一个元素上

    #引入ActionChains 类
    from selenium.webdriver.common.action_chains import ActionChains
    ....
    #定位到要右击的元素
    right =driver.find_element_by_xpath("xx")
    #对定位到的元素执行鼠标右键操作
    ActionChains(driver).context_click(right).perform()

     4. 键盘事件

    webdriver 的Keys()类提供键盘上所有按键的操作,甚至可以模拟一些组合建的
    操作,如Ctrl+A ,Ctrl+C/Ctrl+V 等。在某些更复杂的情况下,还会出现使用send_keys 来模拟上下键
    来操作下拉列表的情况。

    #coding=utf-8
    from selenium import webdriver
    #引入Keys 类包
    from selenium.webdriver.common.keys import Keys
    import time
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com")
    #输入框输入内容
    driver.find_element_by_id("kw1").send_keys("seleniumm")
    time.sleep(3)
    #删除多输入的一个m
    driver.find_element_by_id("kw1").send_keys(Keys.BACK_SPACE)
    time.sleep(3)
    driver.find_element_by_id("kw1").send_keys(Keys.SPACE)
    driver.find_element_by_id("kw1").send_keys(u"教程")
    time.sleep(3)
    #ctrl+a 全选输入框内容
    driver.find_element_by_id("kw1").send_keys(Keys.CONTROL,'a')
    time.sleep(3)
    #ctrl+x 剪切输入框内容
    driver.find_element_by_id("kw1").send_keys(Keys.CONTROL,'x')
    time.sleep(3)
    #输入框重新输入内容,搜索
    driver.find_element_by_id("kw1").send_keys(Keys.CONTROL,'v')
    time.sleep(3)
    #通过回车键盘来代替点击操作
    driver.find_element_by_id("su1").send_keys(Keys.ENTER)
    time.sleep(3)
    driver.quit()
  • 相关阅读:
    硬件设计问题——持续更新
    PCB设计资源整理
    PCB层叠设计和电源分割
    PCB设计技巧
    铜厚电流、Layout 3W原则 20H原则 五五原则
    final关键字
    面向对象——继承与组合
    面向对象——继承
    this总结
    static总结
  • 原文地址:https://www.cnblogs.com/ellie-test/p/4920879.html
Copyright © 2011-2022 走看看