Je suis bloqué dans le code html suivant tiré d'un site qui utilise Javascript. Ce que je veux, c'est sélectionner l'élément "Short_Budget_Report" dans Selenium à l'aide du module Select. Le code html est le suivant :
<input id="WD51" ct="CB" lsdata="{1:'20ex',8:'WD52',9:'2347',11:'Short_Budget_Report',14:'Load\x20View',18:'View',44:false,48:'WD51\x2dtlbl'}" lsevents="{Select:[{ResponseData:'delta',ClientAction:'submit'},{}]}" type="text" autocomplete="off" tabindex="0" ti="0" title="Load View" class="lsField__input urEdf2TxtEnbl lsEdfLeftBrdRadius lsEdf3TxtHlpBtn urEdfVAlign urBorderBox lsControl--explicitwidth" readonly="" value="Short_Budget_Report" style="vertical-align:top;width:20ex;">
Ce que j'ai essayé :
dropdown_id = driver.find_element_by_xpath('//*[@id="WD51"]')
dropdown = Select(dropdown_id)
dropdown.select_by_value('Short_Budget_Report')
Cela donne l'erreur suivante :
raise UnexpectedTagNameException(
selenium.common.exceptions.UnexpectedTagNameException: Message: Select only works on <select> elements, not on <input>
Vous pouvez simplement utiliser la send_keys()
fonction pour sélectionner une option particulière dans la liste déroulante.
find_element()
fonctionsend_keys()
fonction sur cet élément pour sélectionner immédiatement n'importe quelle valeur de la listeEn bref, le faire de la manière suivante devrait obtenir ce dont vous avez besoin :
driver.find_element_by_id('WD51').send_keys('Short_Budget_Report')
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots