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()
原文地址:https://www.cnblogs.com/ellie-test/p/4920879.html