Is there a way to get element by XPath using JavaScript in Selenium WebDriver?

You can use document.evaluate: Evaluates an XPath expression string and returns a result of the specified type if possible. It is w3-standardized and whole documented: https://developer.mozilla.org/en-US/docs/Web/API/Document.evaluate Expand snippet There’s also a great introduction on mozilla developer network: https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#document.evaluate Alternative version, using XPathEvaluator: Show code snippet

How do I pass the this context to a function?

Javascripts .call() and .apply() methods allow you to set the context for a function. Now you can call: Which would alert FOO. The other way around, passing obj_b would alert BAR!!. The difference between .call() and .apply() is that .call() takes a comma separated list if you’re passing arguments to your function and .apply() needs … Read more

Scope Chain in Javascript

To understand the scope chain you must know how closures work. A closure is formed when you nest functions, inner functions can refer to the variables present in their outer enclosing functions even after their parent functions have already executed. JavaScript resolves identifiers within a particular context by traversing up the scope chain, moving from … Read more