Mam problemy z ustaleniem, jak uzyskać zmienną do pracy Selenium. Wydawało się, że ten post pomógł (Variable not working inside parenthesis), ale nadal nie mogę go uruchomić.Używanie zmiennej w xpath w Pythonie Selenium
Kiedy użyłem rzeczywistej wartości, działa. W tym przypadku AL-Alabama. Stworzyłem zmienną o nazwie stan, dzięki czemu mogę po prostu zadzwonić , że w mojej funkcji. Mam 13 państw, przez które muszę przejść.
Ten używa zmiennej stanu i patrząc na komunikat o błędzie pokazuje wartość zmiennej jako AL-Alabama. Wygląda więc na to, że jest to odniesienie do poprawnej wartości na stronie internetowej. Nie jestem pewien, czego mi brakuje lub dlaczego nie działa. Wszelkie wskazówki będą mile widziane.
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]"}
Dlaczego nie używać Wybierz? –
Oznacziłem post przez @EGHM jako odpowiedź. Ale dla tych, którzy mogą być w stanie wykorzystać te informacje, stwierdziłem, że Select również działa. Użyłem Select (driver.find_element_by_class_name ("c3")). Select_by_visible_text (state). Nie jestem pewien, czy powinienem umieścić kod w komentarzu. – shavar
@shavar going with a Select abstrakcja jest rzeczywiście znacznie czystszym sposobem podejścia do problemu. – alecxe