How to select element using XPATH syntax on Selenium for Python? How to select element using XPATH syntax on Selenium for Python? python python

How to select element using XPATH syntax on Selenium for Python?


HTML

<div id='a'>  <div>    <a class='click'>abc</a>  </div></div>

You could use the XPATH as :

//div[@id='a']//a[@class='click']

output

<a class="click">abc</a>

That said your Python code should be as :

driver.find_element_by_xpath("//div[@id='a']//a[@class='click']")


Check this blog by Martin Thoma. I tested the below code on MacOS Mojave and it worked as specified.

> def get_browser():>     """Get the browser (a "driver").""">     # find the path with 'which chromedriver'>     path_to_chromedriver = ('/home/moose/GitHub/algorithms/scraping/'>                             'venv/bin/chromedriver')>     download_dir = "/home/moose/selenium-download/">     print("Is directory: {}".format(os.path.isdir(download_dir)))> >     from selenium.webdriver.chrome.options import Options>     chrome_options = Options()>     chrome_options.add_experimental_option('prefs', {>         "plugins.plugins_list": [{"enabled": False,>                                   "name": "Chrome PDF Viewer"}],>         "download": {>             "prompt_for_download": False,>             "default_directory": download_dir>         }>     })> >     browser = webdriver.Chrome(path_to_chromedriver,>                                chrome_options=chrome_options)>     return browser