解决上面的滑块验证,这种只要用鼠标点击并移动指定距离就可以完成验证(x轴)
实现
"""
@Time : 2023/4/20 15:59
@Author : Wenny
@File :start.py
"""
import json
import time
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options
from pub_function import PubMysql
connect = PubMysql()
def br():
chrome_options = Options()
# chrome_options.add_argument("--headless")
browser = webdriver.Chrome(options=chrome_options)
browser.get('https://ebid.espic.com.cn/newgdtcms//category/purchaseListNew.html?dates=300&categoryId=2&tenderMethod=00&tabName=%E9%87%87%E8%B4%AD%E4%BF%A1%E6%81%AF&page=1')
# browser.maximize_window()
browser.set_page_load_timeout(15)
browser.set_script_timeout(15)
time.sleep(1)
slider(browser)
time.sleep(1)
browser.quit()
def slider(browser):
#切入iframe里面
iframe_xpath='//*[@id="iframe"]'
browser.switch_to.frame(browser.find_element_by_xpath(iframe_xpath))
actionChains = ActionChains(browser)
# 捕捉滑块元素 //div[@class="btn"]
slide_btn = browser.find_element_by_xpath('//div[@class="btn"]')
# 观察网站滑块移动的长度和位置
actionChains.drag_and_drop_by_offset(slide_btn, 338, 0).perform()
time.sleep(5)
print(browser.page_source)
if __name__ == '__main__':
br()
结果: