Ho avuto problemi a capire come far funzionare una variabile Selenium. Questo post sembra aver aiutato (Variable not working inside parenthesis) ma non riesco ancora a farlo funzionare.Utilizzo di una variabile in xpath in Python Selenium
Quando ho utilizzato il valore effettivo, funziona. In questo caso AL-Alabama. Ho creato una variabile chiamata stato in modo da poter chiamare semplicemente nella mia funzione. Ho 13 stati da correre.
driver.find_element_by_xpath("//option[@value='AL-Alabama']").click()
Questo utilizza la variabile di stato e, guardando il messaggio di errore, mostra il valore variabile come AL-Alabama. Quindi sembra che stia facendo riferimento al valore corretto nella pagina web. Non sono sicuro di cosa mi manchi o perché non funziona. Qualsiasi guida sarebbe apprezzata.
driver.find_element_by_xpath('//option[@value=' + state + ']').click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//option[@value=AL-Alabama]"}
Perché non utilizzare Seleziona? –
Ho contrassegnato il post di @EGHM come risposta. Ma per coloro che potrebbero essere in grado di utilizzare queste informazioni, ho scoperto che Select funziona davvero. Ho usato Select (driver.find_element_by_class_name ("c3")). Select_by_visible_text (stato). Non sono sicuro se dovessi inserire il codice in un commento. – shavar
@shavar andare con un'astrazione Select è davvero un modo molto più pulito per affrontare il problema. – alecxe