问题:在pycharm中运行用例能成功,在命令行运行提示找不到com包
解决办法:添加一个PYTHONPATH的环境变量,值为工程目录的路径

当要查找的文本前后有换行时,用如下方法解决
//td[contains(text(),'保证金管理费')]

xpath方式定位同级元素的前面几个元素
els = self.driver.find_elements_by_xpath("//td[contains(text(),'保证金管理费')]/preceding-sibling::td[3]")
xpath方式定位同级元素的后面几个元素
el = self.driver.find_element_by_xpath("//td[text()='审核意见:']/following-sibling::td[1]/textarea")

使用xpath方法定位不包含某个属性的标签
如下定位的是input标签包含value属性但不包含disabled属性
//input[@value='YH'][not(@disabled)]

# 拉动滚动条到最后
js = "var q=document.documentElement.scrollTop=100000"
driver.execute_script(js)
有些弹出框使用上面的方法无法滚动则使用下面的方法:
target = driver.find_element_by_xpath("//th[text()='开始时间']")
driver.execute_script("arguments[0].scrollIntoView();", target)

执行jQuery去掉readonly属性

js = "$('input[name=" + el_name[1] + "]').removeAttr('readonly')"

self.driver.execute_script(js)

打开多个页面时切换操作
#获取当前窗口句柄
handle1 = driver.current_window_handle
#点击页面某个链接弹出第二个窗口
driver.find_element_by_xpath("//a[text()='" + MyTestCase.loanNo + "']").click()
#获取所有窗口的句柄
handles = driver.window_handles
handle2 = ""
#切换窗口
for handle in handles:
if handle != handle1:
driver.switch_to.window(handle)
handle2 = driver.current_window_handle
time.sleep(2)
#点击第二个窗口中的链接弹出第三个窗口
driver.find_element_by_xpath("//a[text()='编辑内审信息']").click()
# 切换到内审信息编辑窗口
#再次获取所有窗口句柄
handles = driver.window_handles
#切换到第三个窗口
for handle in handles:
if handle != handle1 and handle != handle2:
driver.switch_to.window(handle)
#注意: 操作完后要使用driver.close()关闭当前窗口
#并且要driver.switch_to.window(handle2)才能在第二个窗口上继续操作

注意: driver的创建需要写在setUpclass或者setUp方法里面,否则使用HTMLReport运行所有用例时会同时打开很多个窗口

selenium项目中遇到的问题总结的更多相关文章

  1. Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)

    在前段时间,为了给项目中加入日志功能,就想到了 logging 模块,百度logging一大推,都是各种复制的,并没有找到自己想要的结果:我的目的很简单,就是:在把日志写入文件的同时在控制台输出,更加 ...

  2. Python+Selenium进行UI自动化测试项目中,常用的小技巧3:写入excel表(python,xlsxwriter)

    我们在项目中可能用到excel表生成,下面的代码就是对excel表的操作: import xlsxwriter import datetime class write_excel(): def __i ...

  3. Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)

    在自动化测试项目中,可能会碰到一些经常使用的但 很少变化的配置信息,下面就来介绍使用configparser来读取配置信息config.ini 读取的信息(config.ini)如下: [config ...

  4. Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出

    从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict), ...

  5. Selenium WebDriver中一些鼠标和键盘事件的使用

    转自:http://www.ithov.com/linux/133271.shtml 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击 ...

  6. selenium2 WebDriver 在asp.net项目中的应用

    selenium2 WebDriver是一款跨平台的 自动化测试工具,它可以操纵浏览器,模拟用户行为,非常方便用户进行自动化测试. .net项目使用它,首先要通过 Visual Studio 的 nu ...

  7. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  8. 转:总结Selenium WebDriver中一些鼠标和键盘事件的使用

    在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 W ...

  9. Selenium WebDriver 中鼠标和键盘事件分析及扩展[转载]

    原文:http://www.ibm.com/developerworks/cn/java/j-lo-keyboard/ 概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模 ...

  10. TFS在项目中DevOps落地进程(下)

    紧接上篇 TFS在项目中Devops落地进程(上) 再接着说TFS相关之前先插入一个番外篇,虽然跟TFS关系不大但跟DevOps关系很大,觉得有必要在此乱入一下. 番外篇--监控之Applicatio ...

随机推荐

  1. ImageSharp 一个全新的、功能齐全的、完全托管的、跨平台的 2D 图形库

    ImageSharp 是一个全新的.功能齐全的.完全托管的.跨平台的 2D 图形库.ImageSharp 旨在简化图像处理,为您带来了一个功能强大而又非常简单的 API. 可以实现很多功能,如:缩放, ...

  2. FCOSv2:原作的扩展版本,小修小改,性能高达50.4AP | IEEE T-PAMI 2020

    本文是对FCOS的小修小改,最终性能达到了50.4AP,可谓相当强劲了,大家在工程上可以参考其中的改进以及提升方法   来源:晓飞的算法工程笔记 公众号 论文: FCOS: A Simple and ...

  3. SpringMVC转发和重定向的区别是什么

    转发和重定向 视图解析器 <!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalRe ...

  4. .net core ECDsa

    ECDsa(Elliptic Curve Digital Signature Algorithm)是一种基于椭圆曲线密码学的数字签名算法.在.NET Core中,System.Security.Cry ...

  5. 数据库锁起来了,把事务清掉sql

    select concat('kill ',id,';') from information_schema.`PROCESSLIST` where state !='executing' 将上述代码执 ...

  6. 3D Object Detection Essay Reading 2024.04.05

    EMIFF 论文:https://arxiv.org/abs/2303.10975 代码:https://github.com/Bosszhe/EMIFF ​ 本文提出了一种新的基于摄像机的三维检测框 ...

  7. #树状数组,dp#SGU 521 North-East

    题目 在平面上有 \(n\) 个点,现在有一个人要从某个点出发, 每次只能到达横纵坐标都超过原坐标的点,也就是 \(x_j<x_i,y_j<y_i\) 如果他要经过最多的点,那么哪些点是可 ...

  8. #裴蜀定理#CF7C Line

    题目 给定三个整数\(a,b,c\),问是否能找到两个数\(x,y\)使得\(ax+by+c=0\),没有则输出-1 分析 先把式子转换成\(ax+by=-c\) 然后\(x,y\)是整数当且仅当\( ...

  9. 【直播回顾】OpenHarmony知识赋能六期第三课—OpenHarmony智能家居项目之控制面板功能实现

    7月14日晚上19点,知识赋能第六期第三节直播 <OpenHarmony智能家居项目之控制面板功能实现> ,在OpenHarmony开发者成长计划社群内成功举行. 本次直播是"O ...

  10. Java break、continue 详解与数组深入解析:单维数组和多维数组详细教程

    Java Break 和 Continue Java Break: break 语句用于跳出循环或 switch 语句. 在循环中使用 break 语句可以立即终止循环,并继续执行循环后面的代码. 在 ...