截图这里就是先拿到图片所在标签,然后调用截图方法进行截图.
先来看方法:
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/#️️-️️-元素截图