Win10下用selenium、Image.crop() 截图时、坐标不准确的问题
程序员文章站
2022-06-16 20:38:17
截百度按钮的图 先将整个窗口的图保存下来 正常情况下,直接根据图片的坐标和大小,将对应参数给到crop() 结果却是这样? 看这内容,只截到“度”字,距离目标还有这么长一截 原因是自己电脑缩放与布局(桌面右键、显示设置)用的125%为推荐设置 把这个设置调回100%即可准确截图 或者在给crop() ......
截百度按钮的图
先将整个窗口的图保存下来
from selenium import webdriver driver = webdriver.chrome() driver.get('https://www.baidu.com/') element = driver.find_element_by_xpath('//input[@id="su"]') # 坐标 print(element.location) # 大小 print(element.size) # 把当前窗口截图保存 driver.get_screenshot_as_file('1.png')
正常情况下,直接根据图片的坐标和大小,将对应参数给到crop()
from pil import image image = image.open('1.png') x = 738 y = 220 im = image.crop((x, y, x + 100, y + 36)) im.show()
结果却是这样?
看这内容,只截到“度”字,距离目标还有这么长一截
原因是自己电脑缩放与布局(桌面右键、显示设置)用的125%为推荐设置
把这个设置调回100%即可准确截图
或者在给crop()参数的时候,全部乘以对应的比列也能准确截图
from pil import image image = image.open('1.png') x = 738 * 1.25 y = 220 * 1.25 im = image.crop((x, y, x + 100 * 1.25, y + 36 * 1.25)) im.show()