Home > database >  How to identify elements within #document
How to identify elements within #document

Time:04-23

I'm using xpath to scrape information from a dynamic html table. The information I'm trying to scrape is inside of a tag called #document and I'm not sure how to include this in the xpath since it doesn't follow the normal <>...</> format of most html elements. I also don't have the option to select the xpath when I open the options to the left of the tag in the inspector. What do I do here? I've included a snippet below of the tag I'm referring to.

<iframe>
    #document
        <html>...</html>
</iframe> 

CodePudding user response:

The <html> underneth the #document is within an <iframe>. To access the elements within that <html> you have to:

  • Induce WebDriverWait for the desired frame to be available and switch to it as follows:

    WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"iframe_xpath")))
    
  • Note : You have to add the following imports :

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
  • Related