请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Mac上截取不到验证码

分辨率也设置了,貌似都不行,网上也找了下没有相关的帖子

正在回答 回答被采纳积分+3

4回答

Nevssssss 2018-09-06 18:35:35

截图失败是因为截图的分辨率与图片保存的分辨率不一致造成的。

解决方法:

#获取窗口可视范围的width和height

html = driver.find_element_by_tag_name("html")


#设置图片重新打开的width和height

resize_width = html.size['width']

resize_height = html.size['height']


#resize图片

resize_img = im.resize((resize_width, resize_height), Image.BILINEAR)

img = resize_img.crop((left, top, right, height))

img.save("/xxxxxxx.png")


3 回复 有任何疑惑可以回复我~
  • 提问者 JK_Rush #1
    这些我都试过了不行,mac用函数截屏分辨率特别高,如果改成窗口的高和宽会严重压缩图片,就算设置了高保帧的参数也截取不到,windows上截屏就一点问题没有,因为截屏和网页的高宽是一致的,我最终只能用JS盲测成功了
    回复 有任何疑惑可以回复我~ 2018-09-06 18:43:43
  • 逍侠天堂 回复 提问者 JK_Rush #2
    我的可以哦,你再试试,可能是哪里写错了
    回复 有任何疑惑可以回复我~ 2018-11-28 22:00:20
  • 这方法可以,我当初看源码我认为我的参数错了 一个矩形两个点就能去定 x0 y0 x1 y1 源码 瞅了半天  这个方法可以 嗯
    回复 有任何疑惑可以回复我~ 2018-12-25 15:19:59
Tester_当 2019-01-08 18:08:21

我这边也不行,重新设置分辨率也获取不到,还有其他的方法吗

0 回复 有任何疑惑可以回复我~
慕婉清5418690 2018-11-21 22:35:10

我的Mac也是截取不到

但是win电脑就正常

0 回复 有任何疑惑可以回复我~
  • im.resize((resize_width, resize_height), Image.BILINEAR) 重置一下大小。
    回复 有任何疑惑可以回复我~ 2018-11-22 10:15:34
Mushishi 2018-09-02 20:21:16

这个没有试过,首先你需要确认几个问题

1、截图下来能行么?

2、截图后看一下图片大小

3、截图后是什么?

你可以尝试用img 去设置一下图片的分辨率:img.resize((width, height),Image.ANTIALIAS)

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信