python selenium2 模拟点击+拖动 测试对象 58同城验证码

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# @Time    : 2019/12/5 17:30
# @Author  : shenghao/10347899@qq.com
'''test with selenium's move'''
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import cv2 as cv
import time, datetime, random
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.touch_actions import TouchActions
from selenium.webdriver.common.keys import Keys
from PIL import Image
import requests
from io import BytesIO
import cv2, time, sys
import matplotlib.pyplot as plt
import numpy as np


class selenium_2_move(object):
    def __init__(self):
        self.headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36"}
        chrome_option = webdriver.ChromeOptions()
        self.driver = webdriver.Chrome(executable_path="C:\Program Files\Python37\chromedriver.exe",
                                       chrome_options=chrome_option)
        self.driver.set_window_size(1440, 900)

    def visit_index(self):
        self.driver.get(
            "https://callback.58.com/antibot/verifycode?serialId=62cbf64a21ab4d309e722680c623a4e4_31ec33353c0648b7a5c97b1f2fb35976&code=22&sign=e6760461fc971994a2f3809ff536fbe9&namespace=anjuke_zufang_pc&url=.zu.anjuke.com%2Ffangyuan%2F1206610285371393%3Fisauction%3D1%26shangquan_id%3D1846")
        try:
            click_status = WebDriverWait(self.driver, 5, 1).until(
                EC.element_to_be_clickable((By.XPATH, "//div[@class = 'code_num']/input"))).click()
            time.sleep(1)
            self.analog_drag()
        except:
            pass

    def analog_drag(self):
        '''//div[@class = 'dvc-slider__handler']  button position'''
        element = self.driver.find_element_by_xpath("//div[@class = 'dvc-slider__handler']")
        if element:
            ActionChains(self.driver).click_and_hold(on_element=element).perform()
            ActionChains(self.driver).move_by_offset(xoffset=100, yoffset=0).perform()
            time.sleep(0.3)
            ActionChains(self.driver).move_by_offset(xoffset=-8, yoffset=0).perform()
            time.sleep(0.3)
            ActionChains(self.driver).move_by_offset(xoffset=-8, yoffset=0).perform()
            time.sleep(2)
            self.driver.close()

if __name__ == '__main__':
    h = selenium_2_move()
    h.visit_index()

 

posted on 2019-12-09 11:14  山高似水深  阅读(370)  评论(0编辑  收藏  举报

购买方式 点击下面图标购买