Skip to content

截图这里就是先拿到图片所在标签,然后调用截图方法进行截图.

先来看方法:

python
""" 
具体使用
"""
from DrissionPage import ChromiumPage, ChromiumOptions
page = ChromiumPage()

# 直接保存到本地了
page.ele(
    'xpath:/html/body/div[1]/div[2]/div[2]/div[2]/form[1]/ul/li[3]/div/img'
).get_screenshot(name='code.jpg')
# 获取bytes的结果,这种适合直接获取截图,然后交给三方比如云打码平台去做图像识别了
bytes_data = page.ele(
    'xpath:/html/body/div[1]/div[2]/div[2]/div[2]/form[1]/ul/li[3]/div/img'
).get_screenshot(name='code.jpg', as_bytes=True)
python
import time
from DrissionPage import ChromiumPage, ChromiumOptions
class Main(object):
    def __init__(self, name, pwd):
        self.url = 'https://zhxx.chinamine-safety.gov.cn/mj/a/login#'
        self.name = name
        self.pwd = pwd
        self.page = ChromiumPage()
    def sleep(self, n=1):
        time.sleep(n)
    def get_img_bytes(self):
        # 拿到图片标签然后截图并获取bytes类型的图片内容,你也可以保存到本地
        return self.page.ele('xpath:/html/body/div[1]/div[2]/div[2]/div[2]/form[1]/ul/li[3]/div/img').get_screenshot(
            name='code.jpg',
            as_bytes=True
        )
    def send_key(self, ele, key):
        self.page.ele(ele).input(key)
    def main(self):
        # 加载页面
        self.page.get(self.url)
        self.sleep()
        # 进行图片识别处理,这里只进行截图
        img_bytes = self.get_img_bytes()
        print(img_bytes)

if __name__ == '__main__':
    main = Main('我没有账号', '更没有密码')
    main.main()

更多参数解释参考:https://www.drissionpage.cn/ChromiumPage/screen/#️️-️️-元素截图