京東の検証コードの基礎の上で、簡単なマスクのシナリオを書きます


大神の基础の上で、やっと京东を通じて(通って)検证して、今前のコードの基础の上で、简単なマスクのシナリオを书いて、コードは以下の通りです
import cv2
import time
import numpy as np
from selenium import webdriver
from urllib import request
from selenium.webdriver.common.action_chains import ActionChains
#     
from selenium.webdriver.support import expected_conditions as EC     #   
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
def loadpage(browser,username, password):
    browser.get('https://item.jd.com/100006362015.html')  #       
    try:
        browser.find_element_by_link_text('  ,   ').click()
        browser.find_element_by_class_name("login-tab.login-tab-r").click()  #         
        browser.find_element_by_id("loginname").send_keys(username)  # u
        browser.find_element_by_id("nloginpwd").send_keys(password)  # p
        browser.find_element_by_id("loginsubmit").click()  #     
        time.sleep(2)
        while True:
            try:
                getPic(browser)
                # failure = WebDriverWait(browser, 10, 2).until(EC.text_to_be_present_in_element((By.CLASS_NAME, 'JDJRV-slide-center'), '        '))
                # print('failure')
            except:
                print('    ')
                # loop(browser)
                return None
            # if failure:
            #     getPic(browser)
    except:
        print('    ')
        return None
def getPic(browser):
    #            
    s2 = r'//div/div[@class="JDJRV-bigimg"]/img'
    #             
    s3 = r'//div/div[@class="JDJRV-smallimg"]/img'
    bigimg = browser.find_element_by_xpath(s2).get_attribute("src")
    smallimg = browser.find_element_by_xpath(s3).get_attribute("src")
    # print(smallimg + '
') # print(bigimg) # backimg = "backimg.png" # slideimg = "slideimg.png" # request.urlretrieve(bigimg, backimg) # request.urlretrieve(smallimg, slideimg) # block = cv2.imread(slideimg, 0) template = cv2.imread(backimg, 0) # # blockName = "block.jpg" templateName = "template.jpg" # cv2.imwrite(blockName, block) cv2.imwrite(templateName, template) block = cv2.imread(blockName) block = cv2.cvtColor(block, cv2.COLOR_RGB2GRAY) block = abs(255 - block) cv2.imwrite(blockName, block) block = cv2.imread(blockName) template = cv2.imread(templateName) # result = cv2.matchTemplate(block, template, cv2.TM_CCOEFF_NORMED) # block template , result , x, y = np.unravel_index(result.argmax(), result.shape) print(' ') # element = browser.find_element_by_xpath(s3) ActionChains(browser).click_and_hold(on_element=element).perform() ActionChains(browser).move_to_element_with_offset(to_element=element, xoffset=y*4/5, yoffset=0).perform() # y y*4/5 time.sleep(0.2) # ActionChains(browser).move_to_element_with_offset(to_element=element, xoffset=y-y*4/5, yoffset=0).perform() # , # time.sleep(0.1) # # ActionChains(browser).move_to_element_with_offset(to_element=element, xoffset=y-y*8/10, yoffset=0).perform() # time.sleep(0.1) # # ActionChains(browser).move_to_element_with_offset(to_element=element, xoffset=y-y * 17 / 20, yoffset=0).perform() ActionChains(browser).release(on_element=element).perform() time.sleep(1) # def loop(browser): browser.find_element_by_link_text(" ").click() # time.sleep (1) browser.find_element_by_link_text(" ").click() # time.sleep(1) num=browser.find_element_by_xpath('/html/body/div[4]/div[2]/div/div[1]/div/div[2]/div[1]/div/div[2]/div[1]/div[1]/div[5]/div[1]/input[@class="itxt"]') num.send_keys(Keys.CONTROL+'a') num.send_keys('1') browser.find_element_by_xpath('/html/body/div[4]/div[2]/div/div[2]/div/div/div/div[2]/div[4]/div[1]/div/div[@class="amount-sum"]').click() # time.sleep(1) browser.find_element_by_link_text(" ").click() while True: try: if browser.title==' - ': # js = "var q=document.documentElement.scrollTop=100000" # browser.execute_script(js) time.sleep(1) browser.find_element_by_id('order-submit').click() return None else:# , browser.get('https://item.jd.com/100006362015.html') time.sleep(3) loop(browser) # ? except Exception as e: # , time.sleep(1) refresh_(browser) def refresh_(browser): try: if browser.title == ' - ': # js = "var q=document.documentElement.scrollTop=100000" # browser.execute_script(js) # time.sleep(2) browser.find_element_by_id('order-submit').click() return None else: # , browser.get('https://item.jd.com/100006362015.html') time.sleep(3) loop(browser) # ? except Exception as e: # , browser.refresh() time.sleep(1) return refresh_(browser) # , browser = webdriver.Firefox() loadpage(browser,'****','****') # time.sleep(3) loop(browser)

参考知乎-パン君、python(4):秒抢シナリオ