发票

import time
from selenium import webdriver
from pyvirtualdisplay import Display
from PIL import Image
from selenium.webdriver.common.alert import Alert

def Spider():
    print('正在检测页面..')
    # display = Display(visible=0, size=(1200, 800))
    # display.start()

    driver=webdriver.Chrome()
    driver.get(url='https://inv-veri.chinatax.gov.cn/')
    driver.set_window_size(1200, 800)

    # driver.save_screenshot('./inv.png')
    driver.find_element_by_xpath('//tr[1]/td[2]/input[@id="fpdm"]').send_keys('3300171130')
    driver.find_element_by_xpath('//tr[2]/td[2]/input[@id="fphm"]').send_keys('01236355')
    driver.find_element_by_xpath('//input[@id="kprq"]').send_keys('20170719')
    driver.find_element_by_xpath('//input[@id="kjje"]').send_keys('34.1')
    time.sleep(1)
    ac=driver.find_element_by_xpath('//td[@id="yzminfo"]')
    print(ac.text)

    # time.sleep(2)
    #获取截图
    driver.get_screenshot_as_file('verficode/3.png')

    #获取指定元素位置
    element = driver.find_element_by_id('yzm_img')
    left = int(element.location['x'])
    top = int(element.location['y'])
    right = int(element.location['x'] + element.size['width'])
    bottom = int(element.location['y'] + element.size['height'])

    #通过Image处理图像
    im = Image.open('verficode/3.png')
    im = im.crop((left, top, right, bottom))
    im.save('verficode/code4.png')

    print("请查看验证码..")
    # img = Image.open("verficode/code4.png")
    # img.show()

    yzm=str(input('请输入验证码:'))
    driver.find_element_by_xpath('//input[@id="yzm"]').send_keys(yzm)
    driver.find_element_by_xpath('//button[@id="checkfp"]').click()
    time.sleep(2)
    #定位iframe
    # driver.switch_to.frame("dialog-body")
    # cxcs=driver.find_element_by_xpath('//span[@id="cycs"]|//[id="popup_message"]')
    # print(cxcs.text)

    a=driver.find_element_by_xpath('//div[@id="popup_message"]')
    print(a.text)
    time.sleep(2)

    # a.accept()
    # 获取网页源代码
    # content = driver.page_source.encode('utf-8')



if __name__ == '__main__':
    s=Spider()

你可能感兴趣的:(发票)