Skip to content Skip to sidebar Skip to footer

How To Click Button Which Is Inside Iframe Using Python Selenium

He is my sample snippet. i want to click the button-1034-btnIconEl using python selenium.
)

Solution 2:

To switch on the iframe you can use:

driver.switch_to.frame(driver.find_element_by_tag_name('iframe'))


Solution 3:

To click() on the button with id as button-1034-btnIconEl as the the desired element is within an <iframe> so you have to:

  • Induce WebDriverWait for the desired frame to be available and switch to it.
  • Induce WebDriverWait for the desired element to be clickable.
  • You can use either of the following Locator Strategies:

    • Using CSS_SELECTOR:

      WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe.x-component.x-fit-item.x-component-default[id^='rpIFrame-']")))
      WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a > span > span[id^='button'][id$='btnIconEl']"))).click()
      
    • Using XPATH:

      WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@class='x-component x-fit-item x-component-default' and starts-with(@id, 'rpIFrame-')]")))
      WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a/span/span[starts-with(@id, 'button') and contains(@id, 'btnIconEl')]"))).click()
      

Here you can find a relevant discussion on Ways to deal with #document under iframe


Post a Comment for "How To Click Button Which Is Inside Iframe Using Python Selenium"