【问题标题】:How to press accept button with selenium webdriver?如何使用 selenium webdriver 按接受按钮?
【发布时间】:2021-12-08 04:45:11
【问题描述】:

这是我要按下的按钮:

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 和 value,但没有成功。我也看到这是因为 iframe 所以我需要更改它,但我真的不知道该怎么做。在上面的代码中,我尝试使用 css.selector 但它都不起作用。

【问题讨论】:

    标签: python selenium web-scraping selenium-chromedriver


    【解决方案1】:

    2 一般考虑硒。

    框架:

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

    页面加载: selenium 是实际代码,很多时候运行速度比页面加载速度快。所以您需要等待实际按钮首先加载。示例:

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

    【讨论】:

      【解决方案2】:

      使用 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()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-14
        • 1970-01-01
        • 2020-09-04
        • 1970-01-01
        • 2022-01-28
        • 2014-11-17
        相关资源
        最近更新 更多