selenium-webdriver

find location of hotels with selenium


I have a problem with scraping the hotel location from this link.

The structure of the element is as follows: enter image description here

I wrote this code:

driver = webdriver.Chrome()
driver.get('https://www.cvent.com/venues/en-US/dubai/hotel/jw-marriott-marquis-hotel-dubai/venue-c6d701db-da99-4133-a3de-608d446d3446?aCode=D7NNVHN7TCT&geo=eJx9UF1rwjAU_Sslz66kaZKmvtWPiQ_qQGW-SdpGG0gTSVNQpP99ycZ0IOzpwrnn4557BydjW-6cqLeC26rZiasDYzDrSy6jt2ivpV9FheVlNG-l5U50YASkhyVXC2HOll8aWb1L5YT1wslmv54t14vjZHPwxNL0upb6PDHXX8oduNtF_EsNJG2sa-a8cx9GahcQxf1AJE4JIxRSiijJGR0BZTQYExITiglKSIZwAhEdRqAzvWs-xYsFjrM8xQwnjOQQ4YcFjlkOMcEpIjCHEA-DNzk_On67vLRYFYflar86zpbbXbGezn2Tll9l27dgnLzI__ZA0N-Qp88CKIMZQyykVkafZC2CwNleBKDXzt6mpg6hRYjp_LOUKOraiq7b_VyjTMWVdDcwfAG8RJXo')
link_element = driver.find_element(By.XPATH, '//a[contains(@title, "Open this area in Google Maps")]/@href')
print(link_element.get_attribute('value'))

but it gives an error: Message: no such element: Unable to locate element

How can I fix it?


Solution

  • You can use the below code, as I checked it works.

    driver.get('https://www.cvent.com/venues/en-US/dubai/hotel/jw-marriott-marquis-hotel-dubai/venue-c6d701db-da99-4133-a3de-608d446d3446?aCode=D7NNVHN7TCT&geo=eJx9UF1rwjAU_Sslz66kaZKmvtWPiQ_qQGW-SdpGG0gTSVNQpP99ycZ0IOzpwrnn4557BydjW-6cqLeC26rZiasDYzDrSy6jt2ivpV9FheVlNG-l5U50YASkhyVXC2HOll8aWb1L5YT1wslmv54t14vjZHPwxNL0upb6PDHXX8oduNtF_EsNJG2sa-a8cx9GahcQxf1AJE4JIxRSiijJGR0BZTQYExITiglKSIZwAhEdRqAzvWs-xYsFjrM8xQwnjOQQ4YcFjlkOMcEpIjCHEA-DNzk_On67vLRYFYflar86zpbbXbGezn2Tll9l27dgnLzI__ZA0N-Qp88CKIMZQyykVkafZC2CwNleBKDXzt6mpg6hRYjp_LOUKOraiq7b_VyjTMWVdDcwfAG8RJXo')     
    button_element=driver.find_element(By.XPATH,'//div[text()="Nearby"]')    
    button_element.click()    
    time.sleep(3)    
    link_element = driver.find_element(By.XPATH, '//a[contains(@title, "Open this area in Google Maps")]')    
    print(link_element.get_attribute('href'))