【问题标题】:Selenium WebDriver / Java - Simulate Human Like Cursor MovementSelenium WebDriver / Java - 模拟人类光标移动
【发布时间】:2020-10-21 04:13:37
【问题描述】:

我想在 Facebook 广告管理器中自动执行一项简单的任务。此任务涉及设置活动和上传一些广告。人类可能需要 30 分钟才能做到这一点。然而,他们每次都在做同样的事情。经常有错误。 这应该是自动化的。没有人的情感或错误就完成了。

Facebook 非常敏感,我不希望它因为错误的原因禁止我。所以我需要感受人性。我可以在点击之间花时间。但是,光标移动本身需要感觉人性化。 出于道德目的,我只需要模拟真实的人类点击。

假设我得到了一个想要将光标移向的元素:

WebDriver driver;    

// Set file path of chrome driver
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");

// Create object
ChromeDriver driver = new ChromeDriver(options);

// Go to URL
driver.get("FACEBOOK URL");

// Get element
driver.findElement(By.xpath("//span[contains(text(), 'Setup Campaign')]");

像真人一样将光标移向该元素的最佳方法是什么?

  • 真正的人类会首先移动鼠标。不只是点击元素

  • 他们会缓慢移动鼠标/光标。最多可能需要 500-1000 毫秒。当然不是立即。

  • 他们会以弯曲的方式移动鼠标/光标。不仅仅是100%的直线。可能,以随机方式?那么可能需要一些随机性元素?

我对 Selenium 还是很陌生,因此我们将不胜感激。

我正在用 Java 编写代码 :)

【问题讨论】:

    标签: java selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    WebDriver 不使用操作系统输入;它通过http协议直接与浏览器通信。如果您想像“真实”鼠标输入一样模拟通信,则必须使用使用基于操作系统的框架的自动化解决方案。如果是 Windows,您可以使用例如:

    1. https://github.com/FlaUI/FlaUI(阅读 https://github.com/FlaUI/FlaUI/wiki/FAQ 了解如何配置 Chrome 以公开 FlaUI 的 Web 控件)
    2. https://github.com/microsoft/WinAppDriver

    【讨论】:

    • WinAppDriver 看起来很有趣。特别是使用类似 Selenium 的语言。我们在移动鼠标的任何地方都有任何可操作的代码吗? (然后让它感觉人性化)?
    • 这是一个 java 示例(不适用于 Web 应用程序 - 正如我所说,您必须准备好浏览器才能使用这些针对桌面的解决方案与 Web 应用程序进行交互):github.com/microsoft/WinAppDriver/blob/master/Samples/Java/…
    • 我将使用 Selenium 和一个名为 MultiLogin.com 的软件,这允许我拥有许多不同的浏览器实例。每个指纹都具有 100% 独特的指纹。我不确定他们将如何与此整合。他们确实支持 Selenium。用 selenium 执行 Javascript 的想法怎么样?每次移动光标从一个点到另一个点的小脚本?
    • 我认为这个页面应该对你感兴趣css-tricks.com/simulating-mouse-movement
    【解决方案2】:

    我知道这与您所要求的不完全一样,但在这种情况下,我建议您使用 Facebook API 而不是 selenium。

    它比你的方法更稳定,没有被禁止的风险。

    https://developers.facebook.com/docs/marketing-api/reference/v12.0
    

    【讨论】:

      猜你喜欢
      • 2021-02-05
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多