1,模拟轨迹
2,禁止浏览器对selenium的检测
代码如下:
import time
from time import sleep
# selenium:基于浏览器自动化的一个模块
from selenium import webdriver
import time
from selenium.webdriver import ActionChains
from PIL import Image
#防止浏览器对selenium的检测,否则过滑块时候,无论你怎么模拟人去过滑块,还是会被检测出来,而导致错误
options=webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
bro=webdriver.Chrome(executable_path=r'D:\pycharm\PyCharm Community Edition 2020.1.2\bin\chromedriver.exe',options=options)
url = 'https://etax.guangdong.chinatax.gov.cn'
bro.get(url) # 用户发起请求
# 定位弹窗标签
tanchuang = bro.find_element_by_xpath('//*[@id="layui-layer1"]/div[2]/a')
time.sleep(1)
#点击关闭操作
tanchuang.click()
time.sleep(2)
#定位我要查询标签
chaxun=bro.find_element_by_xpath('/html/body/div[1]/div[3]/ul/a[3]')
#点击查询标签
chaxun.click()
time.sleep(1)
#定位密码登录按钮
mmdenglu=bro.find_element_by_xpath('//*[@id="mmdl_QieHuan"]')
mmdenglu.click()
time.sleep(1)
#社会信用代码
shuru1=bro.find_element_by_xpath('//*[@id="shxydmOrsbh"]')
shuru1.send_keys('91440606MA5383U01E')
time.sleep(1)
#用户名
shuru2=bro.find_element_by_xpath('//*[@id="userNameOrSjhm"]')
shuru2.send_keys('13277886658')
time.sleep(1)
#密码
shuru3=bro.find_element_by_xpath('//*[@id="passWord"]')
shuru3.send_keys('Aa123456')
time.sleep(1)
#过滑块,先定位滑块,然后获取滑块坐标,然后将滑块执行鼠标操作,纵坐标不变,横坐标向右移一定像素单位,
huakuai=bro.find_element_by_xpath('//*[@id="nc_1_n1z"]')
def get_track(distance): # distance为传入的总距离
# 移动轨迹
track=[]
# 当前位移
current=0
# 减速阈值
mid=distance*4/5
# 计算间隔
t=1
# 初速度
v=3
while current