web自动化的小技巧

一、快捷键

alt+7  查看本工程中的方法和属性等

二、针对某一些页面,鼠标要移动到上面,才能定位元素的,可以按F12,然后在console中输入以下命令定住界面:

setTimeout(function(){debugger;},5000)

三、driver.implicitly_wait() 这个等待只是针对find系列的,周期性查找,每半秒查询一次

四、webDriver对象的方法

driver.title   #获取当前窗口的title,需要sleep,因为打印title相当于再次进行浏览器请求这个请求要等待的和一开始打开浏览器不用等待不一样;方法二:直接在获取之前使用find获取一个元素,使用driver.implicitly_wait() ,获取到元素自然标题也会找到了

driver.current_url  #获取当前窗口的地址栏的url

driver.get_screenshot_as_file('1.png')  #截图,有bug的时候可以截图,截图名称最好和测试用例同名称

三、元素定位小技巧:点击F12,右键可以copy

copy xpath  #复制出根据xpath定位的元素定位

copy selector#根据css定位

四、异常捕获,保证浏览器就算在运行错误的时候也能安全退出

import traceback

try:

      #要运行的代码

      pass

except:

      print(traceback.format_exc())

finally:#一定会运行

   driver.quit()     

五、特殊动作(鼠标)

ActionChains类

form selenium.webdriver.common.action_chains import  ActionChains

acinstance.action1().action2().actionN().perform()#动作链,调用perform方法才执行

ActionChains(driver).move_to_element(ele).perform#把鼠标停留在一个位置

eg:连续点击三个输入框输入内容

t1 = driver.find_element_by_id('t1')

t2 = driver.find_element_by_id('t2')

t3 = driver.find_element_by_id('t3')

ac.click(t1).send_keys('1').click(t2).send_keys('2').click(t3).send_keys('3').perform

六、改变窗口大小

size = driver.get_window_size()

driver.set_window_size(1100,size['height'])

七、滚动页面

driver.execute_script('window.scrollBy(1400,0)')  #横向和竖向,向右移动1400个像素,可以在console中进行测试看效果(直接输入window.scrollBy(1400,0)回车)

你可能感兴趣的:(web自动化的小技巧)