Issue
When I execute the code below, the interpreter displays running Process ended, but I receive no output on my headless browser.
from selenium import webdriver
driver = webdriver.Chrome("F:\\chromedriver.exe")
driver.get("https://www.google.com/maps")
driver.implicitly_wait(10)
menu = driver.find_element_by_xpath('//*[@id="omnibox-singlebox"]/div[1]/div[1]')
menu.click()
I also experiment with This XPath:
menu = driver.find_element_by_xpath('//*[@id="omnibox-singlebox"]/div[1]/div[1]/button')
Solution
You should induce Explicit waits to let the web elements rendered properly.
Prefer
CSS
overXPATH
.
Code :
driver = webdriver.Chrome(driver_path)
driver.maximize_window()
driver.implicitly_wait(30)
wait = WebDriverWait(driver, 30)
driver.get("https://www.google.com/maps")
time.sleep(5)
try:
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[guidedhelpid='searchbox_hamburger']"))).click()
print('Clicked on the hamburger button')
except:
print('Could not click.')
pass
Imports :
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Answered By - cruisepandey
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.