Gunakan sambungan Python dan WebDriver untuk memproses kod pengesahan seret dan lepas secara automatik pada halaman web
Pada halaman web, kami sering menemui pelbagai kod pengesahan, yang paling biasa ialah kod pengesahan seret dan lepas. Jenis CAPTCHA ini membezakan antara mesin dan pengguna manusia dengan menghendaki pengguna menyeret peluncur dalam kawasan tertentu untuk mengesahkan.
Walau bagaimanapun, mengendalikan captcha seret dan lepas ialah tugas yang mencabar untuk ujian automatik atau perangkak. Nasib baik, dengan kuasa Python dan WebDriver, kami boleh mengautomasikan pemprosesan kod pengesahan drag-and-drop halaman web dengan mudah.
Pertama, kita perlu memasang dan mengkonfigurasi alatan dan perpustakaan yang diperlukan. Pastikan Python dan WebDriver dipasang dan dapat berinteraksi dengan penyemak imbas dengan betul. Seterusnya, kami akan menggunakan perpustakaan Selenium untuk mengautomasikan pemprosesan halaman web.
Kod sampel adalah seperti berikut:
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC def handle_draggable_captcha(driver): """处理拖拽验证码""" # 定位滑块元素 slider = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.CLASS_NAME, 'slider')) ) # 获取滑块的大小 slider_size = slider.size # 获取滑块需要水平滑动的距离 distance = slider_size['width'] # 创建一个动作链对象 actions = ActionChains(driver) # 将滑块拖动到目标位置 actions.click_and_hold(slider).move_by_offset(distance, 0).release().perform() # 初始化webdriver,打开浏览器 driver = webdriver.Chrome() # 打开目标网页 driver.get('https://example.com') # 处理拖拽验证码 handle_draggable_captcha(driver) # 等待验证码处理完成 # 你可以根据实际情况进行适当调整 driver.implicitly_wait(10) # 处理登录或其他操作 # ... # 关闭浏览器 driver.quit()
Dalam kod di atas, kami mula-mula mengimport perpustakaan yang diperlukan, termasuk modul selenium.webdriver, kelas ActionChains dan Mengikut kelas. Kemudian, kami menentukan fungsi yang dipanggil handle_draggable_captcha untuk mengendalikan kod pengesahan seret dan lepas.
Dalam fungsi ini, mula-mula gunakan WebDriverWait untuk menunggu pemuatan dan keterlihatan elemen peluncur. Kemudian, dapatkan saiz peluncur dan tentukan sejauh mana anda perlu menyeretnya. Seterusnya, cipta objek rantai tindakan dan gunakan kaedah click_and_hold, move_by_offset dan lepaskan untuk mensimulasikan tindakan menyeret peluncur.
Dalam program utama, kami memulakan WebDriver dan membuka halaman web sasaran. Kemudian, panggil fungsi handle_draggable_captcha untuk mengendalikan kod pengesahan seret dan lepas. Untuk menunggu selesainya pemprosesan kod pengesahan, kami menggunakan kaedah implicitly_wait.
Akhir sekali, kami boleh melakukan log masuk atau operasi lain mengikut keperluan sebenar. Apabila selesai, tutup penyemak imbas.
Menggunakan sambungan Python dan WebDriver untuk memproses kod pengesahan seret dan lepas secara automatik pada halaman web boleh membantu kami membangunkan ujian automatik atau program perangkak dengan lebih cekap. Melalui kajian dan amalan kod sampel di atas, saya percaya anda akan mempunyai pemahaman dan penguasaan yang lebih baik. Saya doakan anda berjaya dalam mengautomasikan kod pengesahan drag-and-drop pada halaman web!
Atas ialah kandungan terperinci Gunakan sambungan Python dan WebDriver untuk memproses kod pengesahan seret dan lepas secara automatik pada halaman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!