I noticed selenium-atoms project in selenium repository. According to the wiki this project exposes some common APIs similar to selenium language implementations like click
, type
and findElement
. I don't see anything related to this project being used by selenium-ide.
Initially my understanding was, the language implementation sends calls to the driver
(for example, chromedriver.exe) where it sends another call to specific browser in a language only that browser understands.
(Java Language implementation) ------ json wire protocol -----> (chromedriver.exe) ------> (chrome.exe)
Is this how web drivers actually executing actions on browser? If so,
- How is it being injected to the web page?
- How
sendKeys
on to a<input type="file">
is handled (sinceJavaScript
cannot possibly access files in the user's file system) oralert.accept()
where inJavaScript
's thread is blocked?
If not, how is this being used?