Search code examples
node.jsnightmare

Can nightmarejs get detected as a bot?


I just came across nightmarejs, prior to it I was using cefsharp in c# which is pretty good but my c# knowledge is low so i was looking for a nodejs framework that automates chromium.
I did search stackoverflow and on google but did not find a clear answer
To explain my bot will do:

  • Visit site
  • Login
  • Do stuff

I will be using local storage and no proxy support needed so I don't have to worry about webrtc etc.
The bot needs to not leak stuff like selenium or librarues like that.

If nightmare is not the tool to go can you recommend me something else?

thanks


Solution

  • Nightmare uses Electron under the hood, which in turn uses Chromium. So it's Chromium that your website will detect when inspecting User-Agent:

    Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.42 (KHTML, like Gecko) Chromium/25.0.1349.2 Chrome/25.0.1349.2 Safari/537.42
    

    You can also manually set user agent in Nightmare:

    .useragent(useragent)
    

    So I would say no, a typical website would not be able to detect Nightmare using basic checks. However some apps/website use behavior analysis to detect bots/scripts, so you won't be immune to that.