3

I would like to find web element by xpath executing javascript code in python and then click on it. Is this possible and how to do this?

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
beginsql
  • 135
  • 7

2 Answers2

2

To find a WebElement by using in you have to use the evaluate() method which evaluates an xpath expression and returns a result.


document.evaluate()

document.evaluate() returns an XPathResult based on an XPath expression and other given parameters.

The syntax is:

var xpathResult = document.evaluate(
  xpathExpression,
  contextNode,
  namespaceResolver,
  resultType,
  result
);

Example

As an example the Search Box within the Google Home Page which can be identified uniquely using the xpath as //*[@name='q'] can also be identified from the Console using document.evaluate() and the xpath expression as follows:

document.evaluate("//*[@name='q']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

Snapshot:

document_evalute_xpath

undetected Selenium
  • 183,867
  • 41
  • 278
  • 352
-1

You can use the following method (check the docs):

find_element_by_xpath

Then, to click on the element you found, simply use:

element.click()
Hussein Fawzy
  • 366
  • 2
  • 16