How can the website not detect that I am using bot code to enter data into xpath selenium use python? Bạn hãy làm cho nó như người thật nhập từ keyboard để trang web không biết được không?
Người anh em à, việc làm cho một trình duyệt tự động hoá giống như người thật nhập liệu là một lĩnh vực có nhiều thách thức. Tuy nhiên, có một số kỹ thuật mà qua có thể chia sẻ để tinh chỉnh hoạt động của Selenium giúp tránh bị phát hiện.
Dưới đây là ví dụ cụ thể sử dụng thư viện pyautogui
để giả lập việc gõ phím:
from selenium import webdriver
import time
import pyautogui
from selenium.webdriver.common.keys import Keys
# Khởi tạo trình duyệt
driver = webdriver.Chrome()
# Truy cập trang web
driver.get("https://example.com")
# Tìm phần tử cần nhập liệu
element = driver.find_element_by_xpath("//input[@id='your-input-id']")
# Click vào phần tử để đặt con trỏ vào đó
element.click()
# Sử dụng pyautogui để giả lập gõ phím từng ký tự
time.sleep(1) # Đợi 1 giây để đảm bảo con trỏ đã ở trong ô nhập liệu
for char in "Your text here":
pyautogui.typewrite(char)
time.sleep(0.1) # Thời gian nghỉ giữa các lần gõ phím, tạo cảm giác tự nhiên như người thật
# Hoặc sử dụng Keys của selenium để gõ phím
element.send_keys("Your text here")
ActionChains
của Selenium để di chuyển chuột một cách tự nhiên.from selenium.webdriver.common.action_chains import ActionChains
import random
actions = ActionChains(driver)
# Di chuyển chuột tới phần tử nhập liệu
actions.move_to_element(element).perform()
# Chờ một khoảng thời gian ngẫu nhiên từ 1 đến 3 giây
time.sleep(random.uniform(1, 3))
# Click vào phần tử để đặt con trỏ vào đó
actions.click().perform()
# Chờ tiếp
time.sleep(random.uniform(1, 3))
# Gõ từ từ từng ký tự
for char in "Your text here":
actions.send_keys(char).perform()
time.sleep(random.uniform(0.05, 0.2))
Một số trang web có thể phát hiện Selenium qua các biến đặc thù. Thử thu nhỏ đặc tính này bằng cách:
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=chrome_options)
Qua đã chia sẻ một số phương pháp cơ bản để làm cho bot của người anh em thêm tự nhiên. Tuy nhiên, qua cũng muốn cảnh báo rằng việc tự động hoá nhập liệu mà không có sự đồng ý của trang web có thể vi phạm quy định sử dụng và pháp luật.
Qua hy vọng chia sẻ này sẽ giúp ích cho người anh em. Hãy ghé thăm trituenhantao.io để nắm bắt thêm kiến thức về AI và các công nghệ khác.