Home > Blockchain >  How to get HTML code of web-page after a query using Selenium
How to get HTML code of web-page after a query using Selenium

Time:04-25

I am very new to Selenium but I don't find any answer to this question. I have written some code that runs a search on this site by entering the RIZIV-NR and clicking the search button. The question I have is how I can get the HTML code of the site AFTER running this search. The result of the following code is I think only the original HTML but does not have the info I want.

driver = webdriver.Chrome("C:/Program Files (x86)/chromedriver.exe")
driver.get("https://ondpanon.riziv.fgov.be/SilverPages/nl")

elem = driver.find_element_by_name("NihdiNumber")
elem.clear()
elem.send_keys("51680610")
time.sleep(4)
button = driver.find_element_by_id("SearchButton").click()
element = driver.find_element_by_xpath("//body").get_attribute('innerHTML')
print(element)

ps. this is my first ever question here so if you need more info please tell me.

CodePudding user response:

Once you enter the input for RIZIV-NR field and initiate the search you need to induce WebDriverWait for the visibility_of_element_located() for the SearchResults and then you can extract the page_source using the following locator strategies:

  • Code Block:

    driver.get("https://ondpanon.riziv.fgov.be/SilverPages/nl")
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='NihdiNumber']"))).send_keys("51680610")
    driver.find_element(By.XPATH, "//button[@id='SearchButton']").click()
    WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@id='SearchResults']")))
    print(driver.page_source)
    
  • 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
    
  • Console Output:

    <html style="" ><head><style>.gm-style-moc{background-color:rgba(0,0,0,.45);pointer-events:none;text-align:center;transition:opacity ease-in-out}.gm-style-mot{color:white;font-family:Roboto,Arial,sans-serif;font-size:22px;margin:0;position:relative;top:50%;transform:translateY(-50%);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%)}
    </style><style>.gm-style img{max-width: none;}.gm-style {font: 400 11px Roboto, Arial, sans-serif; text-decoration: none;}</style>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <title>RIZIV - Zoeken</title>
        <link href="/SilverPages/Content/bootstrap.min.css" rel="stylesheet">
        <script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-136603939-1"></script>
        <script>
            window.dataLayer = window.dataLayer || [];
            function gtag() { dataLayer.push(arguments); }
            gtag('js', new Date());
            gtag('config', 'UA-136603939-1');
        </script>
    
        <link href="/SilverPages/Content/css?v=nqXsXhEhXvUqGI-XBjZzVdwpXkCtCzpmQq7x-XyULgQ1" rel="stylesheet">
    
        <link href="/SilverPages/Content/themes/base/css?v=iUtWiGhtM4VCb8LHz23eU27gxBsVt9jn05Q7RZSvLNU1" rel="stylesheet">
    
    
        <script src="/SilverPages/bundles/modernizr?v=dUz_C7QKTmbjqpHGnN4fhYIhS-YQnnG5Pqseul2b8PQ1"></script>
    
        <script src="/SilverPages/bundles/jquery?v=lAWanvxuK91VI6uSCdWzhvtofm0aK0rptSpK6X6X2d01"></script>
    
        <script src="/SilverPages/bundles/jqueryui?v=G3zUI26k8shDvs3PSo5GPkxFSWclClRdLVUnA01ZKc01"></script>
    
        <script src="/SilverPages/bundles/jqueryval?v=8cA8qijPw0YgarjqUNELeEbhw5EBPkFVGxUnJZt_13U1"></script>
    
        <script src="/SilverPages/bundles/jqueryplugins?v=EbWBzsX99QRVUrnPAvNPrmTjH0epEBjaSUbHCy7rZpU1"></script>
    
    
        <script src="/SilverPages/Scripts/bootstrap.min.js"></script>
    <script type="text/javascript" charset="UTF-8" src="https://maps.googleapis.com/maps-api-v3/api/js/48/10/intl/nl_ALL/common.js"></script><script type="text/javascript" charset="UTF-8" src="https://maps.googleapis.com/maps-api-v3/api/js/48/10/intl/nl_ALL/util.js"></script><script type="text/javascript" charset="UTF-8" src="https://maps.googleapis.com/maps-api-v3/api/js/48/10/intl/nl_ALL/map.js"></script><script type="text/javascript" charset="UTF-8" src="https://maps.googleapis.com/maps-api-v3/api/js/48/10/intl/nl_ALL/onion.js"></script></head>
    <body>
            <div id="wrap">
                    <div id="banner">
                            <div  id="logo">
                                    <div  style="padding-top: 2px; padding-bottom: 2px;">
                                            <div >
                                                    <ul id="languages">
    
    
    <li><a href="/SilverPages/nl/App/SetCulture?culture=nl-BE" >nl</a></li>
    <li><a href="/SilverPages/nl/App/SetCulture?culture=fr-BE" >fr</a></li>
                                                    </ul>
    
                                                    <form method="post" action="/SilverPages/nl/App/SetCulture" id="languageForm" novalidate="novalidate">
                                                            <input id="language" name="language" type="hidden" value="">
                                                            <input id="returnUrl" name="returnUrl" type="hidden" value="/SilverPages/nl">
                                                    </form>
                                            </div>
                                            <div >
                                                    <img src="/SilverPages/Content/images/blgm_beLogo.gif" style="float: right;">
                                                    <div >
                                                            Terug naar de website van het Riziv: <a href="http://www.riziv.be/">riziv.be</a> -
                                Andere informatie en overheidsdiensten: <a href="http://www.belgium.be/nl">belgie.be</a>
                                                    </div>
                                            </div>
                                    </div>
                                    <div  style="padding-top: 5px; padding-bottom: 10px;">
                                            <div >
    
                                                    <img src="/SilverPages/Content/images/riziv-logo-nl.png">
                                            </div>
                                            <div >
                                                    <h4 style="color: #009cbb;">Rijksinstituut voor ziekte- en invaliditeitsverzekering</h4>
                                            </div>
                                            <div >
    
                                            </div>
                                    </div>
                            </div>
                    </div>
    
                    <div  role="navigation">
                            <div >
                                    <div >
                                            <button type="button"  data-toggle="collapse" data-target=".navbar-collapse">
                                                    <span >Toggle navigation</span>
                                                    <span ></span>
                                                    <span ></span>
                                                    <span ></span>
                                            </button>
                                            <a  href="/SilverPages/nl">Een zorgverlener zoeken</a>
                                    </div>
                                    <div >
                                            <ul  id="NavMain">
                                                    <li id="NavHomeIndex" ><a href="/SilverPages/nl">Zoeken</a></li>
                                                    <li id="NavHomeContact"><a href="/SilverPages/nl/Home/Contact">Contact</a></li>
    
    
                                            </ul>
                                    </div>
                                    <!--/.nav-collapse -->
                            </div>
                    </div>
                    <div >
                            <div  id="CookieNotification">
                                    <span ></span>
                                    <strong>Cookies</strong>
                                    <p>Onze webtoepassing maakt gebruik van cookies, onder andere om de website te analyseren en zich aan te passen aan de bezoekerservaring. Door gebruik te maken van deze website geeft u toestemming voor het gebruik van cookies. Klik op «Bevestigen» om uw toestemming te registreren en deze boodschap niet meer te zien.</p>
                                    <button type="button"  style="float: right;" id="CookieButton">Bevestigen</button>
                            </div>
                    </div>
                    <div >
    
    
    
    
    <div >
        <div >
            <div >
                <p>
                    Zoekt u een zorgverlener en wilt u weten of hij/zij geconventioneerd is? Dan kan u via deze webtoepassing een opzoeking doen. Indien de zorgverlener geconventioneerd is, bent u zeker dat u de officiële tarieven betaalt, zonder supplementen (behalve in situaties waarbij deze supplementen reglementair zijn toegelaten).<br>
                </p>
                <div >
                    <table >
                        <tbody><tr>
                            <td colspan="2">
                                Als de zorgverlener via
                                <a href="http://www.riziv.be/">MyRiziv</a>
                                een werkadres geregistreerd heeft, is dit adres zichtbaar in de zoekresultaten. U heeft in dat geval ook de mogelijkheid dit adres te bekijken op een kaart.
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <img src="/SilverPages/Content/images/starOfLife_yes_sm.png">
                            </td>
                            <td>
                                Geconventioneerd: past de officiële tarieven toe (behalve in situaties waarbij supplementen reglementair zijn toegelaten).
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <img src="/SilverPages/Content/images/starOfLife_partial_sm.png">
                            </td>
                            <td>
                                Gedeeltelijk geconventioneerd: past de officiële tarieven gedeeltelijk toe, d.w.z. past de officiële tarieven toe op bepaalde tijdstippen (bepaalde dagen of bepaalde uren op een dag) of op bepaalde plaatsen (bv. privé-praktijk of ziekenhuispraktijk), behalve in situaties waarbij supplementen reglementair zijn toegelaten.
    Alleen de artsen en tandartsen kunnen gedeeltelijk geconventioneerd zijn.
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <img src="/SilverPages/Content/images/starOfLife_no_sm.png">
                            </td>
                            <td>
                                Niet geconventioneerd: is vrij om de honoraria te bepalen.
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <img src="/SilverPages/Content/images/starOfLife_unknown_sm.png">
                            </td>
                            <td>
                                Conventioneringsstatuut nog niet gekend.
                            </td>
                        </tr>
                        <tr>
                            <td>&nbsp;_</td>
                            <td>Geen overeenkomst/akkoord voor dit beroep (dit is altijd het geval voor diëtisten, ergotherapeuten, orthoptisten en podologen).</td>
                        </tr>
                    </tbody></table>
                </div>
                <button type="button"  style="float: right;" data-text-expanded="Minder informatie" data-text-collapsed="Meer informatie">Meer informatie</button>
            </div>
        </div>
    </div>
    
    
    <div >
        <div >
            <form id="SearchForm" novalidate="novalidate">
                <div >
                        <input  id="NorthEastLat" name="NorthEastLat" type="hidden">
    
                        <input  id="NorthEastLng" name="NorthEastLng" type="hidden">
    
                        <input  id="SouthWestLat" name="SouthWestLat" type="hidden">
    
                        <input  id="SouthWestLng" name="SouthWestLng" type="hidden">
    
                </div>
                <div >
                    <div >
                            <label for="LastName">Naam</label>
        <input  id="LastName" name="LastName" placeholder="Naam" type="text">
    
                    </div>
                    <div >
                            <label for="FirstName">Voornaam</label>
        <input  id="FirstName" name="FirstName" placeholder="Voornaam" type="text">
    
                    </div>
                    <div >
                            <label for="Profession">Wat</label>
     <small >(Beroep)</small>
                        <select  id="Profession" name="Profession" onchange="GetSpecialities(this.value)">
                            <option selected="selected" value="">Alle beroepen</option>
                                <option value="20">Apotheker</option>
                                <option value="68">Apotheker-bioloog</option>
                                <option value="10">Arts</option>
                                <option value="67">Audicien</option>
                                <option value="62">Bandagist</option>
                                <option value="56">Diëtist</option>
                                <option value="65">Ergotherapeut</option>
                                <option value="50">Kinesitherapeut</option>
                                <option value="98">Klinisch orthopedagoog</option>
                                <option value="78">Klinisch psycholoog</option>
                                <option value="63">Leverancier implantaten</option>
                                <option value="58">Logopedist</option>
                                <option value="66">Opticien</option>
                                <option value="61">Orthopedist</option>
                                <option value="59">Orthoptist</option>
                                <option value="57">Podoloog</option>
                                <option value="30">Tandarts</option>
                                <option value="41">Verpleegkundige</option>
                                <option value="40">Vroedvrouw</option>
                        </select>
                    </div>
                    <div id="speciality-section" ></div>
                    <div >
                            <label for="ConventionStatus">Conventioneringsstatus</label>
    
                        <select  id="ConventionStatus" name="ConventionStatus">
                            <option selected="selected" value="">Alle statussen</option>
                                <option value="A">Geconventioneerd</option>
                                <option value="P">Gedeeltelijk geconventioneerd</option>
                                <option value="R">Niet geconventioneerd</option>
                        </select>
                    </div>
                </div>
    
                <div >
                    <div >
                            <label for="Where">Waar</label>
     <small >(Postcode, gemeente of stad)</small>    <span role="status" aria-live="polite" ></span><input  id="Where" name="Where" placeholder="Postcode, gemeente of stad" type="text" autocomplete="off">
    
                    </div>
                    <div >
                            <label for="NihdiNumber">RIZIV-nr</label>
     <small >(8 eerste cijfers of minder)</small>    <input  id="NihdiNumber" name="NihdiNumber" placeholder="RIZIV-nr" type="text">
    
                    </div>
                    <div  id="qualDiv">
                            <label for="Qualification">Kwalificatie</label>
     <small >(Bevoegdheidscode, 3 cijfers)</small>    <input  id="Qualification" name="Qualification" placeholder="Bevoegdheidscode, 3 cijfers" type="text">
    
                    </div>
                </div>
    
                <div >
    
                    <div >
                        <!-- No map -->
                        <div id="NoResults" style="display: none">
                            <!-- zero results -->
                            <small><i>Geen resultaten gevonden, gelieve uw zoekopdracht te verfijnen.</i> </small>
                        </div>
                        <div id="ToMuchResults" style="display: none">
                            <!-- to many results -->
                            <small><i>Er zijn te veel resultaten om op een kaart te tonen. Gelieve uw zoekopdracht te verfijnen.</i> </small>
                        </div>
                        <div id="NotConformCriteria" style="display: none">
                            <!-- show text -->
                            <small><i>Om de zoekresultaten op een kaart te kunnen weergeven, moet u minstens zoeken op beroep, naam of RIZIV-nummer.</i> </small>
                        </div>
                        <button id="ShowAllOnMapButton" type="button"  style="display: none" onclick="showMap()">
                            Toon alle resultaten op de kaart
                        </button>
    
                    </div>
                    <div >
    
                    </div>
    
                        <div >
                            <span id="results-count" ><img src="/SilverPages/Content/images/spinner.gif"></span>
                            <button id="ResetButton" type="reset"  onclick="mapReset(true);">
                                Wissen
                            </button>
    
                            <button id="SearchButton" type="button"  onclick="mapReset(true);" data-action="/SilverPages/nl/Home/SearchByForm?PageOffset=0&amp;PageSize=200" data-target="#SearchResults">
                                Zoeken
                            </button>
                        </div>
                    </div>
    
                <div >
                    <div  id="TitleMapWorkAddress2" style="display: none">
                        <br>
                        <div >
                            <p>
                                Op deze kaart vindt u de zorgverleners terug die beantwoorden aan uw zoekcriteria en die bij het RIZIV een werkadres hebben geregistreerd. U kan via de kaart het gebied waar u een zorgverlener zoekt uitbreiden, verkleinen of verplaatsen (met het handje). Klik nadat u de kaart verplaatst heeft terug op 'dit gebied doorzoeken'.<br>
                            </p>
                            <div id="titleMapWorkAddressInfoContent" style="display: none">
                                <p>Aan de hand van de verschillende icoontjes kan u op de kaart in één oogopslag zien waar een zorgverlener werkt en wat zijn conventioneringsstatus is. Als u klikt op een icoontje, ziet u de basisgegevens van de zorgverlener.</p>
    <p>Wilt u het gebied waar u een zorgverlener zoekt uitbreiden of kleiner maken? Gebruik dan de zoomfunctie en klik vervolgens op “Dit gebied doorzoeken” om uw zoekresultaten te vernieuwen. U kan ook de kaart verslepen en daarna op dezelfde manier uw zoekresultaten aanpassen.</p>
    <p>De getoonde adressen zijn de werkadressen die zorgverleners via <a href=" http://www.myriziv.be" target="_blank">MyRiziv</a> geregistreerd hebben. Zorgverleners zonder werkadres vindt u wel in de resultatenlijst, maar niet op de kaart. Als een zorgverlener zijn werkadres wijzigt, is dit hier vanaf de volgende dag hier zichtbaar.</p>
                            </div>
                            <button type="button"  style="float: right;" id="titleWorkAdddresInfo">Meer informatie</button>
                        </div>
                        <br>
                    </div>
                </div>
                <div >
                    <div  id="TitleMapNoWorkAddress" style="display: none">
                        <p>
                            <br>
                            <strong>Geen enkele zorgverlener in de zoekresultaten heeft bij het RIZIV een werkadres geregistreerd. We kunnen de resultaten dan ook niet via de kaart weergeven. Kies een nieuw zoekgebied door in de kaart de zoomfunctie te gebruiken of de kaart te verslepen en klik vervolgens op “Dit gebied doorzoeken” om uw zoekresultaten te vernieuwen. </strong>
                            <br>
                        </p>
                    </div>
                </div>
                <div  id="mapcontainer" style="display: none">
                    <div >
                        <div >
                            <div >
                                <div  align="center">
                                    <span id="results-count-map" ></span>
                                    <button id="SearchButtonMap" type="button"  onclick="GetCoordinates()" data-action="/SilverPages/nl/Home/SearchByMap?PageOffset=0&amp;PageSize=200" data-target="#SearchResults">
                                        Dit gebied doorzoeken
                                    </button>
    
                                </div>
                            </div>
                            <div  id="map" style="height: 500px; width: 100%; position: relative; overflow: hidden;"><div style="height: 100%; width: 100%; position: absolute; top: 0px; left: 0px; background-color: rgb(229, 227, 223);"><div style="overflow: hidden;"></div><div  style="position: absolute; z-index: 0; left: 0px; top: 0px; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px;"><div tabindex="0" aria-label="Kaart" aria-roledescription="kaart" role="region" style="position: absolute; z-index: 0; left: 0px; top: 0px; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; cursor: url(&quot;https://maps.gstatic.com/mapfiles/openhand_8_8.cur&quot;), default; touch-action: pan-x pan-y;"><div style="z-index: 1; position: absolute; left: 50%; top: 50%; width: 100%;"><div style="position: absolute; left: 0px; top: 0px; z-index: 100; width: 100%;"><div style="position: absolute; left: 0px; top: 0px; z-index: 0;"></div></div><div style="position: absolute; left: 0px; top: 0px; z-index: 101; width: 100%;"></div><div style="position: absolute; left: 0px; top: 0px; z-index: 102; width: 100%;"></div><div style="position: absolute; left: 0px; top: 0px; z-index: 103; width: 100%;"></div><div style="position: absolute; left: 0px; top: 0px; z-index: 0;"></div></div><div style="z-index: 3; position: absolute; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; left: 0px; top: 0px; touch-action: pan-x pan-y;"><div style="z-index: 4; position: absolute; left: 50%; top: 50%; width: 100%;"><div style="position: absolute; left: 0px; top: 0px; z-index: 104; width: 100%;"></div><div style="position: absolute; left: 0px; top: 0px; z-index: 105; width: 100%;"></div><div style="position: absolute; left: 0px; top: 0px; z-index: 106; width: 100%;"><span id="4CFF71D5-5B09-48A7-A1A8-049A03DBF164" style="display: none;">Druk op de pijltoetsen om te navigeren.</span></div><div style="position: absolute; left: 0px; top: 0px; z-index: 107; width: 100%;"></div></div></div><div  style="z-index: 4; position: absolute; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; left: 0px; top: 0px; opacity: 0;"><p ></p></div></div><iframe aria-hidden="true" frameborder="0" tabindex="-1" style="z-index: -1; position: absolute; width: 100%; height: 100%; top: 0px; left: 0px; border: none;"></iframe><div style="pointer-events: none; width: 100%; height: 100%; box-sizing: border-box; position: absolute; z-index: 1000002; opacity: 0; border: 2px solid rgb(26, 115, 232);"></div></div></div></div>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>
    .   
    .
    <script async="" defer="" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBaXLvd35FOBehSmQkdZDHs7QZb-N5plHM&amp;callback=initMap&amp;language=nl&amp;region=BE&amp;libraries=geometry"></script>
    
    
    <div id="SearchResults" >
    </div>
    
                    </div>
    
            </div>
    
            <div  style="background-color: #c6e5ec;">
                    <div >
                            <br>
                            <div >
                                    <p style="font-size: 90%">©RIZIV, alle rechten voorbehouden</p>
                            </div>
                            <div >
                                    <p style="color: #2d3235; font-size: 85%">
                                            Dev 3.4.769.1 (04-06-21)
                                            <a style="color: #808080; font-size: 85%">
                                                     - 1.53.2085.1 (21/04/21)
                                            </a>
                            </p></div>
                            <div >
                                    <p>
                                            <a style="font-size: 90%; color: #2d3235" href="/SilverPages/nl/Home/Liability">Disclaimer</a>
                                    </p>
                            </div>
                    </div>
            </div>
    
    
            <a id="back-top"  href="#top" style="display: none;">
                    <i ></i>
            </a>
    
    
        <script src="/SilverPages/Scripts/Nihdi-SilverPages.js"></script>
    
    
    
    <ul  id="ui-id-1" tabindex="0" style="display: none;"></ul><div style="position: absolute; left: 0px; top: -2px; height: 1px; overflow: hidden; visibility: hidden; width: 1px;"><span style="position: absolute; font-size: 300px; width: auto; height: auto; margin: 0px; padding: 0px; font-family: Roboto, Arial, sans-serif;">BESbswy</span></div><div style="position: absolute; left: 0px; top: -2px; height: 1px; overflow: hidden; visibility: hidden; width: 1px;"><span style="position: absolute; font-size: 300px; width: auto; height: auto; margin: 0px; padding: 0px; font-family: Roboto, Arial, sans-serif;">BESbswy</span></div><div style="position: absolute; left: 0px; top: -2px; height: 1px; overflow: hidden; visibility: hidden; width: 1px;"><span style="position: absolute; font-size: 300px; width: auto; height: auto; margin: 0px; padding: 0px; font-family: Roboto, Arial, sans-serif;">BESbswy</span></div></body></html>
    
  • Related