深度学习,深度睡眠 2022-09-10 00:59 采纳率: 68.8%
浏览 13
已结题

python tesserocr xpath

如下代码中xpath查询,contains(.,"登录成功")这个方法,我把“.”去掉,网页会不停的登录进去再退出去再登录,而我加上“.”就正常,感觉好奇怪,不知道为什么会影响?


WebDriverWait(browser,10).until(EC.presence_of_element_located((By.XPATH,'//h2[contains(.,"登录成功")]')))

import re,time,tesserocr
from selenium import webdriver
from io import BytesIO
from PIL import Image
from retrying import retry
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
import numpy as np

# def preprocess(image):
#     image = image.convert('L')
#     array = np.array(image)
#     array = np.where(array > 150,255,0)
#     image = Image.fromarray(array.astype('uint8'))
#     return image

@retry(stop_max_attempt_number=10, retry_on_result=lambda x: x is False)
def login():
    browser.get('https://captcha7.scrape.center/')
    browser.find_element(by=By.CSS_SELECTOR,value='.username input[type="text"]').send_keys('admin')
    browser.find_element(by=By.CSS_SELECTOR,value='.password input[type="password"]').send_keys('admin')
    captcha = browser.find_element(by=By.CSS_SELECTOR,value='#captcha')
    image = Image.open(BytesIO(captcha.screenshot_as_png))
    # image = preprocess(image)
    captcha = tesserocr.image_to_text(image)
    captcha = re.sub('[^A-Za-z0-9]','',captcha)
    browser.find_element(by=By.CSS_SELECTOR,value='.captcha input[type="text"]').send_keys(captcha)
    browser.find_element(by=By.CSS_SELECTOR,value='.login').click()
    try:
        WebDriverWait(browser,10).until(EC.presence_of_element_located((By.XPATH,'//h2[contains(.,"登录成功")]')))
        time.sleep(10) 
        browser.close()
        return True
    except TimeoutException:
        return False

if __name__ == '__main__':
    browser = webdriver.Chrome()
    login()
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 9月18日
    • 创建了问题 9月10日

    悬赏问题

    • ¥200 csgo2的viewmatrix值是否还有别的获取方式
    • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
    • ¥15 请把下列每一行代码完整地读懂并注释出来
    • ¥15 pycharm运行main文件,显示没有conda环境
    • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
    • ¥15 为什么eclipse不能再下载了?
    • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
    • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
    • ¥15 特定网页无法访问,已排除网页问题
    • ¥50 如何将脑的图像投影到颅骨上