title: How webdriver communicates/works with browser?
body: <p><a href="https://i.stack.imgur.com/igNJZ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/igNJZ.png" alt="enter image description here" /></a></p>
  <p>I'm using Selenium for web crawler, it works fine at most time, but some websites can detect it, so I decided to learn more deeply.</p>
  <p>After some search, i found &quot;<a href="https://chromedevtools.github.io/devtools-protocol/" rel="nofollow noreferrer">Chrome DevTools Protocol</a>&quot; and &quot;<a href="https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol" rel="nofollow noreferrer">Json Wire Protocol</a>&quot;.</p>
  <p>&quot;Json Wire Protocol&quot; works between Selenium and Webdriver as implementations for Python Java C# and other languages, so they can communicate with Webdriver by unified protocol, several articles explained this point.</p>
  <p>But I can't find any article about <strong>how Webdriver communicate with browser</strong>, a few article says ChromeDriver communicates with Chrome by &quot;Chrome DevTools Protocol&quot;, but they didn't explain details, so I'm not sure is this point correct.</p>
  <p>How Browser receives command from Browser Driver and executes it?</p>