如何使用 selenium webdriver 按下接受按钮?

How to press accept button with selenium webdriver?

这是我要按的按钮:

def obtenerCoordenadasDirección():

   header = {"User-Agent": "Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11"}
   driver = webdriver.Chrome('chromedriver.exe')
   driver.maximize_window()

   adresses="Calle Urb. La Arbor"
   driver.get('https://www.google.com/maps/search/'+adresses)

   print(driver.current_url)

   driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
   time.sleep(1)

   driver.find_element_by_css_selector('body > div.box > div:nth-child(5) > form > 
   input.button').click()


obtenerCoordenadasDirección()

我尝试寻找 id、class、xpath 和值,但没有成功。我还看到这是因为 iframe 所以我需要更改它,但我真的不知道该怎么做。在上面的代码中,我尝试使用 css.selector 但它都不起作用。

2 一般考虑硒。

帧数:

iframe = driver.find_element_by_xpath("//iframe[@name='Dialogue Window']")
driver.switch_to.frame(iframe)

页面加载: selenium 是实际代码,很多时候运行速度比页面快 loaded.So 您需要等待实际按钮加载 first.example:

try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "tag_id"))
    )
finally:
    driver.quit()

使用 xpath 查找按钮对我有用:

from selenium import webdriver
import time

driver = webdriver.Chrome('C:/Chromedriver/chromedriver.exe')
driver.get('https://www.google.com/maps/search/Calle Urb. La Arbor')

driver.maximize_window()

time.sleep(1)  #wait for site to load

driver.find_element_by_xpath('/html/body/c-wiz/div/div/div/div[2]/div[1]/div[4]/form/div[1]/div/button/span').click()