Python_自动化基础笔记整理

1. 自动化常见问题:

1.1 Python自动化环境搭建步骤

安装Google浏览器,驱动地址:http://chromedriver.storage.googleapis.com/index.html;

安装selenium模块:pip install selenium 

1.2 Selenium中常用的元素定位方法有哪些

class_name、css_selector、id、link_text、name、paratial_link_text、tag_name、xpath

Python_自动化基础笔记整理_第1张图片

1.3 Selenium常见问题及解决思路

元素定位失败:使用唯一的name、id增加准确性,也有可能页面未加载完全需要等待;

执行效率低:受网速、操作繁琐、页面加载、等待时间等影响,严重拖慢脚本执行速度,可以考虑应用设置异常检测来替代等待时间较长的部分代码,网址尽量是直接打开,查询网页加载缓慢的原因,设置超时时间

2. Selenium常见报错异常:

NoSuchElementException: 找不到元素, 解决方法: 前面加上sleep等待后重试,或换一种定位方式

排查步骤: 

  • 第一:检查定位值是否写错;
  • 第二:检查浏览器页面运行是否与代码运行同步;
  • 第三:检查元素是否包含在 iframe 标签中;
  • 第四:检查前后操作的元素是否在不同的窗口中。

NoSuchAttributeException: 元素没有这个属性, 解决方法: 确认定位到的元素是否目标元素, 检查属性拼写

InvalidElementStateException: 元素状态异常 元素只读/不可点击等, 解决方法: 等待或使用js移除元素readonly/disable等限制属性后操作

ElementNotSelectableException:元素不可被选中, 解决方法: 确认原始是否为select标签, 是否禁用

NoSuchFrameException:没有找到指定的frame或iframe, 解决方法: 查看拼写或切换使用frame的id/name/index/定位到的frame

NoSuchWindowException: 没找到窗口句柄指定的窗口, 解决方法: 查看使用的窗口句柄变量拼写

UnexpectedAlertPresentException: 出现了弹框而未处理, 解决方法: 切换到警告框并处理, 如果偶现,使用try...except处理偶现弹框

InvalidSwitchToTargetException: 切换到指定frame或窗口报错, 解决方法: 查看相应的frame或窗口是否能定位到

TimeoutException:查找元素或操作超时, 解决方法: 稍后重试

你可能感兴趣的:(Python)