概述
1、当同一个页面某些元素提示不可点击
当页面的其他元素可以点击,某个元素显示不可点击的时候,设置sleep等待,隐性等待可能不可用
2、切换后的窗口关闭,需切换回原窗口
窗口句柄切换窗口时,点击确定按钮窗口关闭后,需要将窗口切换回原窗口再进行定位
切换回原窗口时,需要将frame重新定位回原来的iframe
3、js弹窗
遇到js的弹窗时(例如保存成功这种),使用常规方法提示no alert
先等待,然后定位到该弹窗的div_xpath().click,然后再定位里面的元素–点击确定这种
4、处理js弹窗时,在某个iframe获取元素时不要夹带着输出操作,可能会导致程序出错
5、刷新操作
自动化运行过程中有刷新操作,需要把页面重新定位回当前iframe
6、使用elements寻找元素时会返回一个列表,故需要用到元素索引
7、个人觉得比较重要的selenium元素定位:
css的层级定位: 当一个元素使用自身的属性不容易定位时,可以通过它的父元素来找到它,如果父元素也不好定位,可以再通过上元素来定位,以此类推,一直找到容易定位的父元素为止,通过层级定位到需要查找的元素
可以使用css中的元素定位方法=====driver.find_element_by_css_selector( “iframe:nth-child(3)”)
8、文件上传
类型1:对于通过input实现的文件上传,我们可以将其看作是一个输入框,即通过send_keys(路径) 的方式即可实现文件上传
类型2:非input标签实现的上传功能,我们可以通过模拟键盘敲击的方式去实现
import win32com.client
sh = win32com.client.Dispatch(“WScript.shell” )
sh.Sendkeys(“XXX123.pngrn”)
注意:代码运行过程不要操作鼠标; 输入法要保持英文输入的状态
最后
以上就是冷傲方盒为你收集整理的使用selenium元素定位时遇到的问题的全部内容,希望文章能够帮你解决使用selenium元素定位时遇到的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复