{"id":12382,"date":"2024-03-24T14:24:29","date_gmt":"2024-03-24T13:24:29","guid":{"rendered":"https:\/\/www.auditsi.eu\/?p=12382"},"modified":"2024-03-24T14:56:28","modified_gmt":"2024-03-24T13:56:28","slug":"robotic-process-automation-rpa-et-python-piloter-des-applications-web","status":"publish","type":"post","link":"https:\/\/www.auditsi.eu\/?p=12382","title":{"rendered":"Robotic Process Automation (RPA) et Python : piloter des applications web"},"content":{"rendered":"<p style=\"text-align: justify;\">La RPA (pour <em>Robotic Process Automation<\/em>) contribue \u00e0 la <strong>robotisation des fonctions finances et comptables<\/strong>. La RPA est une technique qui automatise des processus habituellement ex\u00e9cut\u00e9s manuellement, en partie d\u00e9pourvus valeur ajout\u00e9e, \u00e0 l&#8217;image de la collecte de donn\u00e9es. Des outils sp\u00e9cialis\u00e9s en RPA, tels <a href=\"https:\/\/www.uipath.com\/fr\" target=\"_blank\" rel=\"noopener\">UiPath<\/a>, excellent en la mati\u00e8re.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12383\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/RPA-PYTHON.png\" alt=\"RPA PYTHON\" width=\"684\" height=\"556\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/RPA-PYTHON.png 684w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/RPA-PYTHON-300x244.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/p>\n<p style=\"text-align: justify;\">Toutefois, ces outils ne sont pas les seuls \u00e0 \u00eatre en mesure d&#8217;automatiser des t\u00e2ches.<\/p>\n<p style=\"text-align: justify;\">Le <strong>langage Python<\/strong>, langage particuli\u00e8rement adapt\u00e9 au traitement de donn\u00e9es, est en capacit\u00e9, par exemple, de <strong>piloter des sites internet ou des applications web<\/strong> pour automatiser des traitements, extraire des donn\u00e9es&#8230;<\/p>\n<p style=\"text-align: justify;\">Pour ce faire, il faut ajouter la <strong>biblioth\u00e8que <a href=\"https:\/\/www.selenium.dev\/\" target=\"_blank\" rel=\"noopener\">Selenium<\/a><\/strong> qui comprend des fonctions de pilotage d&#8217;un navigateur internet.<\/p>\n<p style=\"text-align: justify;\">A titre d&#8217;exemple, le script Python reproduit ci-avant envoie les identifiants de connexion \u00e0 un DMS (application web de gestion d&#8217;un point de vente automobile).<\/p>\n<p style=\"text-align: justify;\">Il est au pr\u00e9alable n\u00e9cessaire d&#8217;installer la <strong>biblioth\u00e8que Selenium<\/strong> \u00e0 l&#8217;aide de la commande &#8220;pip install selenium&#8221; dans l&#8217;interpr\u00e9teur de commande (cmd.exe).<\/p>\n<p style=\"text-align: justify;\">Les <strong>variables<\/strong> <em>url<\/em>, <em>username<\/em> et <em>password<\/em> stocke respectivement l&#8217;URL du DMS, le nom de l&#8217;utilisateur et son mot de passe.<\/p>\n<p style=\"text-align: justify;\">Le script commence par lancer l&#8217;<strong>ex\u00e9cution du navigateur<\/strong> Chrome :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># Lancement du navigateur\r\ndriver = webdriver.Chrome()<\/pre>\n<p style=\"text-align: justify;\">Puis, il charge le DMS (il s&#8217;agit ici d&#8217;une application web accessible \u00e0 l&#8217;aide d&#8217;une URL comme n&#8217;importe quel site internet) :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># Chargement de l'URL DCSnet\r\ndriver.get(url)<\/pre>\n<p style=\"text-align: justify;\">Pour entrer les identifiants, il est n\u00e9cessaire d&#8217;<strong>analyser la page web<\/strong> pour isoler le nom des champs de saisie. Pour ce faire, il suffit de se rendre sur la page web et d&#8217;analyser son code HTML.. en frappant la <strong>touche F12<\/strong> :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12385\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants-code-HTML.png\" alt=\"DCSnet identifiants code HTML\" width=\"820\" height=\"263\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants-code-HTML.png 820w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants-code-HTML-300x96.png 300w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants-code-HTML-768x246.png 768w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants-code-HTML-730x234.png 730w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/p>\n<p style=\"text-align: justify;\">Le <strong>code HTML de la page<\/strong> appara\u00eet dans une fen\u00eatre. Se d\u00e9placer dans le code permet d&#8217;<strong>identifier les diff\u00e9rents objets<\/strong> qui composent la page web dont les zones de saisie et les boutons :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12384\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants.png\" alt=\"DCSnet identifiants\" width=\"466\" height=\"574\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants.png 466w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-identifiants-244x300.png 244w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><\/p>\n<p style=\"text-align: justify;\">Une fois le nom des composants relev\u00e9s (par exemple ici : le nom de la zone de saisie (<em>input<\/em>) du nom d&#8217;utilisateur = <em>form.login<\/em>), il faut les int\u00e9grer au script Python.<\/p>\n<p style=\"text-align: justify;\">Ainsi pour le nom de l&#8217;utilisateur, cela donne :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># Localisation du champ et insertion du nom d'utilisateur\r\nusername_input = driver.find_element(By.NAME, \"login\")\r\nusername_input.send_keys(username)<\/pre>\n<p style=\"text-align: justify;\">Une fois les identifiants entr\u00e9s dans la page web par le script, il suffit de simuler le <strong>clic sur le bouton<\/strong> CONNEXION :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\"># Soumission des identifiants\r\ndriver.find_element(By.CSS_SELECTOR, \"button[type='submit']\").click()<\/pre>\n<p style=\"text-align: justify;\">Une fois le script ex\u00e9cut\u00e9, l&#8217;\u00e9cran d&#8217;accueil du DMS appara\u00eet :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12386\" src=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-Accueil.png\" alt=\"DCSnet Accueil\" width=\"994\" height=\"521\" srcset=\"https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-Accueil.png 994w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-Accueil-300x157.png 300w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-Accueil-768x403.png 768w, https:\/\/www.auditsi.eu\/wp-content\/uploads\/2024\/03\/DCSnet-Accueil-730x383.png 730w\" sizes=\"auto, (max-width: 994px) 100vw, 994px\" \/><\/p>\n<p style=\"text-align: justify;\">L&#8217;obtention de cet \u00e9cran est la preuve que <strong>l&#8217;identification a r\u00e9ussi<\/strong>. Ne reste plus qu&#8217;\u00e0 programmer l&#8217;ex\u00e9cution des fonctionnalit\u00e9s souhait\u00e9es dans le script Python&#8230;<\/p>\n<p style=\"text-align: justify;\">La RPA est une <strong>source de gains de temps<\/strong> importants qu&#8217;il faut int\u00e9grer dans sa panoplie d&#8217;outils d&#8217;analyse et de traitement de donn\u00e9es.<\/p>\n<p style=\"text-align: justify;\">___<\/p>\n<p style=\"text-align: justify;\">Pour approfondir le sujet : <a href=\"https:\/\/www.auditsi.eu\/?cat=3087\">d\u00e9couvrir le langage Python et l&#8217;automatisation de t\u00e2ches<\/a> \/ <a href=\"https:\/\/www.auditsi.eu\/?page_id=11012\">Formation Analyse de donn\u00e9es et automatisation des t\u00e2ches<\/a><\/p>\n<div id=\"sconnect-is-installed\" style=\"display: none;\">2.13.0.0<\/div>\n<div id=\"sconnect-is-installed\" style=\"display: none;\">2.13.0.0<\/div>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img decoding=\"async\" src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"Robotic%20Process%20Automation%20%28RPA%29%20et%20Python%20%3A%20piloter%20des%20applications%20web\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>La RPA (pour Robotic Process Automation) contribue \u00e0 la robotisation des fonctions finances et comptables. La RPA est une technique qui automatise des processus habituellement ex\u00e9cut\u00e9s manuellement, en partie d\u00e9pourvus valeur ajout\u00e9e, \u00e0 l&#8217;image de la collecte de donn\u00e9es. Des outils sp\u00e9cialis\u00e9s en RPA, tels UiPath, excellent en la mati\u00e8re. Toutefois, ces outils ne sont &#8230;<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?p=12382\" class=\"more-link\">Continue reading &lsquo;Robotic Process Automation (RPA) et Python : piloter des applications web&rsquo; &raquo;<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"Robotic%20Process%20Automation%20%28RPA%29%20et%20Python%20%3A%20piloter%20des%20applications%20web\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[3087],"tags":[580,815,1571,3229,3230,116,1327,3231,2392,895,723,3088,2698,1769,2692,3228,3232,2812,849],"class_list":["post-12382","post","type-post","status-publish","format-standard","hentry","category-python","tag-application-en-ligne","tag-automatisation","tag-bouton-de-commande","tag-clic","tag-click","tag-collecte-de-donnees","tag-dms","tag-f12","tag-html","tag-input","tag-productivite","tag-python","tag-robotic-process-automation","tag-robotisation","tag-rpa","tag-selenium","tag-uipath","tag-url","tag-zone-dedition"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/12382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12382"}],"version-history":[{"count":3,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/12382\/revisions"}],"predecessor-version":[{"id":12389,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/12382\/revisions\/12389"}],"wp:attachment":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}