Python全系列 教程
3567个小节阅读:5930.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
思路:
xxxxxxxxxx
from selenium.webdriver.chrome.service import Service
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import requests
from time import sleep
def test1():
url = 'https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/SF1045585271138'
s = Service('./chromedriver.exe')
browser = webdriver.Chrome(service=s)
wait = WebDriverWait(browser,30)
browser.get(url)
try:
wait.until(EC.presence_of_element_located((By.ID,'tcaptcha_iframe')))
browser.switch_to.frame('tcaptcha_iframe')
img = browser.find_element(By.ID,'slideBg')
img_src = img.get_attribute('src')
img_src = img_src[:img_src.rfind('&')-1]
print(img_src)
save_img(f'{img_src}1','cpt1.png')
save_img(f'{img_src}2','cpt2.png')
# 获取移动的距离
tmp_d = get_long()
# 获取移动轨迹
tmp_track = get_track(tmp_d-24)
# 滑动按钮
# 选中按钮
button = browser.find_element(By.ID,'tcaptcha_drag_button')
webdriver.ActionChains(browser).click_and_hold(button).perform()
# 拖动按钮-按照轨迹拖动
for t in tmp_track:
webdriver.ActionChains(browser).move_by_offset(xoffset=t, yoffset=0).perform()
# 释放按钮
webdriver.ActionChains(browser).release().perform()
# 休眠2秒
sleep(2)
# 关闭浏览器
browser.quit()
except Exception as e:
browser.close()