标签:move support search pac webdriver comm port expec pat
#!/usr/bin/python # -*- coding: UTF-8 -*- # @Time : 2019年12月9日11:41:08 # @Author : shenghao/10347899@qq.com ‘‘‘test with selenium‘s move by x,y‘‘‘ from builtins import print 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,shutil 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,re import matplotlib.pyplot as plt import numpy as np class selenium(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() html = self.driver.find_element_by_xpath("//*").get_attribute("outerHTML") rid = re.search("rid=(.*?)&", html).group(1) time.sleep(1) self.move(rid) except: pass def move(self,rid): element = self.driver.find_element_by_xpath("//div[@class = ‘dvc-slider__handler‘]") move_list = ([100,0],[-3,0],[-4,0],[-5,0],[3,0],[2,0],[8,0],[10,0]) if element: ActionChains(self.driver).click_and_hold(on_element=element).perform() for m in move_list: ActionChains(self.driver).move_by_offset(xoffset=m[0], yoffset=m[1]).perform() time.sleep(0.2) time.sleep(2) self.driver.close() if __name__ == ‘__main__‘: h = selenium() h.visit_index()
python selenium5 模拟点击+拖动+按照指定相对坐标拖动 58同城验证码
标签:move support search pac webdriver comm port expec pat
原文地址:https://www.cnblogs.com/tnsay/p/12010219.html