First, confirm that your mouse movements are indeed realistic and no issue. If you are sure they are correct, the next step is to check the web automation framework you are using, such as Selenium or Puppeteer. These frameworks can be detected quite easily. You will need to modify the framework's detectable characteristics yourself or switch to a less common framework, such as DrissionPage. This article will offer suggestions on which framework characteristics get detected and how to modify them.
Framework Characteristics
1.WebDriver: The value of window.navigator.webdriver is true.
2.Navigator.plugins: The length of Navigator.plugins is 0.
Modifying the Framework
1.Modify the WebDriver Property
When using ChromeDriver, add an argument to disable the window.navigator.webdriver property.
Argument: --disable-blink-features=AutomationControlled (This disables the 'AutomationControlled' feature).
java
options.add_argument("--disable-blink-features=AutomationControlled")
2.Use Proxy IPs and Rotate User-Agents
Using proxy IPs can prevent target websites from restricting or blocking your scraper based on its IP address. Simultaneously, rotating User-Agents allows the scraper to disguise itself as different browsers, reducing the probability of detection.
3.Switch to Less Common Frameworks
Consider using frameworks like DrissionPage, Playwright, or Crawl4AI.