zoukankan      html  css  js  c++  java
  • Python+selenium自动化脚本编辑过程中遇到的问题和小技巧

    应该也不算是问题和技巧,算是实践中学习到的Python,记录下,也不定时更新

    1.通过截取url判断

    实例:

    self.assertEqual(self.broswer.current_url[self.broswer.current_url.find('editor=')+7:],'564d406f76bf511e8d000004','没有筛选自己')

    截取url中editor=后面的字符串到最后

    2.第一次使用正则

    实例:

    elf.assertNotEqual(exResult,re.search('d+',self.broswer.find_element_by_xpath('/html/body/div/div/ui-view/div/div[1]/ul/li/span[2]').text).group(),'搜索结果条数一样')

    获取到的text是“当前222篇”,正则获取数字开始的数字

    3.弹出框

    实例:

    self.broswer.get(exURL)
    sleep(2)
    alert = self.broswer.switch_to_alert()
    alert.accept()

    由于当前界面是编辑界面,所以想回到之前的界面时会弹出alert。还可以用dismiss

    4.切换窗口

    实例:

    now_handle = self.broswer.current_window_handle
    for handle in self.broswer.window_handles:#先切换到新打开的窗口,然后关掉
        if handle !=now_handle:
            self.broswer.switch_to_window(handle)
            self.broswer.close()
    self.broswer.switch_to_window(now_handle)#切换回原来的窗口

    点击超链接后在新窗口中打开了,要把新打开的窗口关闭再切换回原来的窗口

    先获取当前的handle,再和handles对比,如果不是就先切换过去关掉

    再切换回来

    一开始是将切换回原来的handle放到else里,结果发现获取到的window_handles中第一个handle就是原来的handle

    导致当窗口关闭之后,handle还是之前的handle没有切换过来

  • 相关阅读:
    Java自定义注解(1)
    SpringMvc入门
    Nginx服务器简单配置
    EL和JSTL使用笔记
    JQuery笔记
    Java05 JDBC介绍及基本操作
    Java04 线程同步问题解决——线程锁(同步锁、互斥锁)
    web服务、正向代理、反向代理的一点理解
    java03 IO操作
    Docker05 Docker容器
  • 原文地址:https://www.cnblogs.com/delete31/p/5306385.html
Copyright © 2011-2022 走看看