本篇文章给大家谈谈selenium获取元素坐标,以及selenium 元素坐标对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、selenium如何获取已定位元素的属性值
- 2、selenium 获取元素方法-注解
- 3、Python+Selenium 元素获取及使用心得
- 4、Selenium中怎么实现元素定位?
- 5、python+selenium使用location定位元素坐标偏差
selenium如何获取已定位元素的属性值
1、直接打开selenium的主界面,按照File→New→Class的顺序进行点击。
2、下一步,需要在弹出的窗口中设置相关内容并确定创建。
3、这个时候,输入获取元素属性的对应代码。
4、如果没问题,就按照图示启用取得id值的功能。
5、等完成上述操作以后,继续通过对应网页选择图示按钮跳转。
6、这样一来会得到相关结果,即可达到目的了。
selenium 获取元素方法-注解
selenium 查找页面元素方法
1、 Selenium by查找元素
特别强调一下:By.xpath()
绝对路径以单/号表示,而下面要讲的相对路径则以//表示,这个区别非常重要。另外需要多说一句的是,当xpath的路径以/开头时,表示让Xpath解析引擎从文档的根节点开始解析。当xpath路径以//开头时,则表示让xpath引擎从文档的任意符合的元素节点开始进行解析。
查找页面上id为loginForm的form元素:
查找页面上具有name属性为username的input元素:
2、 注解获取页面元素
方式有3种:@FindBy、@FindBys、@FindAll。
下文对3中类型的区别和使用场景进行介绍
1)@FindBy
2)@FindBys
@FindBys 相当于是取交集,是先根据第一个注解获取到对应元素,然后根据第二个注解再帅选出对应的页面元素,。如先找到符合classname=A的元素,再在这些元素集中找到id=B的所有元素
就像如下操作:
3)@FindAll
@FindAll相当于是取并集,如找到id=A和id=B的所有元素
Python+Selenium 元素获取及使用心得
1、获取输入框再输入信息的时候,发现send_keys会把内容输入到所获取输入框的隔壁框框(比如下一个框),排查一大通后发现,是因为待输入的数据前面包含个空格(这空格在Excel里还看不出来),send_keys方法会连空格也输入进去,元素定位并没有不准,这空格就是输入“跳框”的元凶。
解决的办法是检查待输入的源数据,strip去掉前后的空格。
2、直接定位元素的方法,比如Xpath和CSS Selector虽然方便,但是用多了程序健壮性会变差。想想也是,比如新开的页面里,按钮多一个少一个,或者顺序位置发生变化,元素就选错了,后面肯定就不按剧本走了。
这时候最好按id、class name来获取,如果不唯一,那就遍历循环判断(比如先找到父元素再遍历各个子元素),虽然程序运行效率会降低一些,但是程序跑起来的时候不容易挂。
关于效率问题其实也不用太纠结,我都纯用Selenium了我还在乎啥效率啊(手动狗头)
3、循环判断筛选元素的时候,get_attribute是个好东东,常见的比如text,scr,甚至onclick事件里的字符串都可以用来做判断。但是切记最好放在try里,遍历虽好,找到个空值就直接挂了。
Selenium中怎么实现元素定位?
Selenium定位元素的方法有很多种,像是通过id、name、class_name、tag_name、link_text等等,但是这些方法局限性太大, 随着自动化测试的深入,和不同框架要求,会发现上面的定位方式无法解决一些元素定位。尤其对于这样一些元素:
1、没有id、name、class等属性;
2、标签的属性或文本信息特征没有或者不明显;
3、标签嵌套复杂,层次太多等。
所以这些方法了解一下即可,我们真正需要熟练掌握的是通过xpath和css定位,一般只要掌握一种就可以应对大部分定位工作了。
python+selenium使用location定位元素坐标偏差
我也遇到了这个问题,解决了,说下我这儿出现的原因和解决方法,希望对你有帮助。
我是使用定位截图时出现这个问题的,之所以会出现这个坐标偏差是因为电脑上设置的显示缩放比例造成的,location获取的坐标是按显示100%时得到的坐标,而截图所使用的坐标却是需要根据显示缩放比例缩放后对应的图片所确定的,因此就出现了偏差。
解决这个问题有三种方法:
① 修改电脑显示设置为100%。这是最简单的方法。
② 缩放截取到的页面图片,即将截图的size缩放为宽和高都除以缩放比例后的大小(应该需要将缩放后的宽和高转化为int型)
③ 修改Image.crop的参数,将参数元组的四个值都乘以缩放比例(应该也需要转化为int型)
个人比较喜欢后两种,可以将电脑显示的缩放比例作为一个单独的参数放到整体环境参数里,每次只用改下这个参数就行了。当然如果能通过程序自动获取操作系统的这个参数的话更好。
selenium获取元素坐标的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于selenium 元素坐标、selenium获取元素坐标的信息别忘了在本站进行查找喔。
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » selenium获取元素坐标(selenium 元素坐标)