Selenium Webdriver Python wykonanie polecenia gdy jest tekst na stronie

Selenium Webdriver Python wykonanie polecenia gdy jest tekst na stronie
ME
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 105
0

Piszę test automatyczny w WebDriver i Python. W nim ma być m.in. blok kodu, który jest wykonywany gdy na testowanej stronie skrypt znajdzie jakiś tekst (nie link, nie przycisk, lecz zwykły tekst wyświetlany poprzez html), a jeżeli go nie będzie, to kod nie zostanie wykonany.
Coś podobnego zrobiłem dla opcji resetowania hasła na tej testowanej stronie, czyli

Kopiuj
if self.is_element_present(By.LINK_TEXT, u"Wymuś zmianę hasła"):
    ...polecenia wykonywane gdy link do zmiany hasła został odnaleziony
else:
    ...inne polecenia, gdy linku nie ma

no ale to jest szukanie elementu - linku, a ja muszę szukać zwykłego tekstu. Przekopałem się przez różne strony gdzie jest opisane jak napisać funkcje robiące to co chcę. Ale czy nie ma jakiegoś prostego polecenia w Webdriverze?

G3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
0

Znajdujesz dany element, obiekt WebElement posiada property text - który Cię interesuje, lub wyciągnij tekst przez xpath.

ME
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 105
0
grzgrzgrz3 napisał(a):

Znajdujesz dany element, obiekt WebElement posiada property text - który Cię interesuje

??? Szukałem sprawdzałem, nie ma czegoś takiego.

G3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
0

Ale czego nie ma?

Kopiuj
>>> from selenium import webdriver
>>> driver = webdriver.Firefox()
>>> driver.get('http://onet.pl')
>>> element = driver.find_element_by_xpath("//span[@class='title']")
>>> element.text
u'Conchita Wurst: po latach okazało się, że to nieprawda'
ME
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 105
0

Aaaa, takie coś. Zastosowałem, i faktycznie działa. Dzięki!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.