跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • python3 使用 selenium 截屏后再截取指定坐标图片定位不准确是为什么
未分類
20 4 月 2020

python3 使用 selenium 截屏后再截取指定坐标图片定位不准确是为什么

python3 使用 selenium 截屏后再截取指定坐标图片定位不准确是为什么

資深大佬 : littlepython 24

想截取一下验证码的图片,但是截图后和验证码的位置不对应,不知道是不是写法有问题,还是有其余的因素在影响,selenium 用的 Chrome 浏览器 附上操作代码 browser.save_screenshot(‘bdbutton.png’) element = browser.find_element_by_xpath(‘//*[@id=”login-yzm_img”]’) # 找到验证码图片 print(element.location) # 打印元素坐标 print(element.size) # 打印元素大小 left = element.location[‘x’] top = element.location[‘y’] right = element.location[‘x’] + element.size[‘width’] bottom = element.location[‘y’] + element.size[‘height’]

im = Image.open(‘bdbutton.png’) im = im.crop((left, top, right, bottom)) im.show() im.save(‘bdbutton.png’)

大佬有話說 (11)

  • 資深大佬 : ClericPy

    留个网址? 我试试我直接原生 cdp 截图准不准

    如果盲猜的话, 怀疑和截图参数 scale 有关, 但是不确定 selenium 走的是 driver 内置的截图还是也同样走了 cdp

  • 主 資深大佬 : littlepython

    @ClericPy 就芒果 tv 短信登录的那儿的验证码截图

  • 資深大佬 : ClericPy

    @littlepython #2 测了下 cdp 抓到的是 ok 的

    ![JAHeDH.png]( https://s1.ax1x.com/2020/04/16/JAHeDH.png)

    https://paste.ubuntu.com/p/ZS5CZWmYsj/

  • 資深大佬 : unixeno

    你系统开缩放了?

  • 資深大佬 : dudu2017

    指定一个窗口大小试试。

  • 主 資深大佬 : littlepython

    @ClericPy 老哥 你这段代码我在 windows 运行直接报错,我是有什么没设置吗

  • 主 資深大佬 : littlepython

    @unixeno 系统的推荐是 200%, 把坐标改成 2 就好了,就是不知道怎么能通用

  • 主 資深大佬 : littlepython

    @dudu2017 和系统的缩放有关 不知道怎么设置一个通用的

  • 資深大佬 : ClericPy

    @littlepython #6 代码就是随手发的, 因为我没用 selenium, 走的是默认的 Chrome cdp, 可以忽略

    我前面说的 scale 参数就是页面缩放的问题, 你要么把 scale 改为 1, 要么就通过 selenium 或者 js 拿到当前缩放 scale 值, 在截图时候传入正确的就可以了

  • 主 資深大佬 : littlepython

    @ClericPy 好的 我试试

  • 資深大佬 : fzhyzamt

    Mac 下试了一下是正常的,可能确实是缩放的原因

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具