python+selenium使用location定位元素坐标偏差
3个回答
展开全部
我也遇到了这个问题,解决了,说下我这儿出现的原因和解决方法,希望对你有帮助。
我是使用定位截图时出现这个问题的,之所以会出现这个坐标偏差是因为电脑上设置的显示缩放比例造成的,location获取的坐标是按显示100%时得到的坐标,而截图所使用的坐标却是需要根据显示缩放比例缩放后对应的图片所确定的,因此就出现了偏差。
解决这个问题有三种方法:
① 修改电脑显示设置为100%。这是最简单的方法。
② 缩放截取到的页面图片,即将截图的size缩放为宽和高都除以缩放比例后的大小(应该需要将缩放后的宽和高转化为int型)
③ 修改Image.crop的参数,将参数元组的四个值都乘以缩放比例(应该也需要转化为int型)
个人比较喜欢后两种,可以将电脑显示的缩放比例作为一个单独的参数放到整体环境参数里,每次只用改下这个参数就行了。当然如果能通过程序自动获取操作系统的这个参数的话更好。
我是使用定位截图时出现这个问题的,之所以会出现这个坐标偏差是因为电脑上设置的显示缩放比例造成的,location获取的坐标是按显示100%时得到的坐标,而截图所使用的坐标却是需要根据显示缩放比例缩放后对应的图片所确定的,因此就出现了偏差。
解决这个问题有三种方法:
① 修改电脑显示设置为100%。这是最简单的方法。
② 缩放截取到的页面图片,即将截图的size缩放为宽和高都除以缩放比例后的大小(应该需要将缩放后的宽和高转化为int型)
③ 修改Image.crop的参数,将参数元组的四个值都乘以缩放比例(应该也需要转化为int型)
个人比较喜欢后两种,可以将电脑显示的缩放比例作为一个单独的参数放到整体环境参数里,每次只用改下这个参数就行了。当然如果能通过程序自动获取操作系统的这个参数的话更好。
展开全部
首先通过name定位用户名和密码,再调用方法clear()清除输入框默认内容,如“请输入密码”等提示,通过send_keys("**")输入正确的用户名和密码,最后通过click()点击登录按钮或send_keys(Keys.RETURN)相当于回车登录,submit()提交表单。
PS:如果需要输入中文,防止编码错误使用send_keys(u"中文用户名")。
PS:如果需要输入中文,防止编码错误使用send_keys(u"中文用户名")。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-05-24
展开全部
元素坐标偏差
追问
是说xpath定位的有问题吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询