You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于坐标点击网页?通过Selenium模拟鼠标坐标点击规避反爬并关闭弹窗

Simulating Mouse Clicks at Specific Coordinates to Bypass Bot Detection

Absolutely! Clicking at specific coordinates instead of targeting HTML elements is a smart workaround here, and both Selenium and tools like PyAutoGUI can help you pull this off. Let’s break down the best approaches step by step:

Using Selenium (Webpage-Level Coordinate Clicking)

Selenium’s ActionChains class lets you simulate natural mouse movements and clicks directly within the webpage context, which is usually more reliable for web-specific tasks. Here’s how to implement it:

  1. Import Required Modules
    First, ensure you have Selenium installed (pip install selenium) and the appropriate browser driver (ChromeDriver, GeckoDriver, etc.) set up:

    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    
  2. Initialize Driver and Load the Page

    # Initialize Chrome driver (swap with webdriver.Firefox() if using Firefox)
    driver = webdriver.Chrome()
    driver.get("https://your-target-website.com")
    
    # Wait for the login popup to fully load (adjust sleep time based on page speed)
    time.sleep(3)
    
  3. Simulate Click at Target Coordinates
    Use move_by_offset() to position the mouse at your desired (X,Y) coordinates and trigger a click. Note: move_by_offset() uses relative positioning from the mouse’s starting point (top-left corner of the webpage by default):

    target_x = 1300
    target_y = 700
    
    # Create action chain and execute the click
    actions = ActionChains(driver)
    actions.move_by_offset(target_x, target_y).click().perform()
    

    Pro Tip for Absolute Page Coordinates

    If your target coordinates are relative to the entire page (not just the visible viewport), scroll to the correct area first to ensure the coordinate is reachable:

    # Scroll to the general vicinity of your target coordinate
    driver.execute_script(f"window.scrollTo(0, {target_y - 200});")
    time.sleep(1)  # Wait for scroll to complete
    

Using PyAutoGUI (System-Level Coordinate Clicking)

If Selenium’s approach still triggers bot detection, PyAutoGUI simulates mouse clicks at the operating system level—this feels more "human-like" but relies on your screen’s pixel coordinates (so the browser window must be visible and positioned correctly):

  1. Install PyAutoGUI

    pip install pyautogui
    
  2. Simulate the Click

    import pyautogui
    import time
    
    # Wait for the page and popup to finish loading
    time.sleep(5)
    
    # Click at the specified screen coordinates
    pyautogui.click(x=1300, y=700)
    

    Make It More Human-Like

    Add smooth mouse movement to avoid looking robotic:

    # Move the mouse to the target over 1.5 seconds, then click
    pyautogui.moveTo(x=1300, y=700, duration=1.5)
    pyautogui.click()
    

Key Tips to Avoid Bot Detection

  • Add Delays: Always include small waits between actions (time.sleep() or Selenium’s WebDriverWait) to mimic human pacing.
  • Simulate Natural Movements: Instead of jumping directly to the target, move the mouse in small increments (especially with Selenium’s ActionChains).
  • Avoid Headless Mode: Some sites flag headless browsers automatically—try running the browser in normal mode first.

内容的提问来源于stack exchange,提问作者Carolino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 18:02:28