Нужна помощь по WebDriverWait text_to_be_present_in_element_value - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь дождаться, пока веб-элемент изменит свой статус на «готово»?Может кто-нибудь проверить мой код, где я делаю это неправильно?

Я вижу, что статус приложения изменился на «закончен», но выполнение кода не продолжается?Я получаю TimeOutException.

 def check_status(self,myString):
        table = self.browser.find_element_by_id(self.table_id)
        col= table.find_element_by_xpath(
            "//tr[contains(.,'" + myString + "')]//td[5]")
        print(col.text)
        if col.text=='finished':
            return col.text
        else:
            try:
                wait = WebDriverWait(self.browser, 180)
                element = wait.until(
                    EC.text_to_be_present_in_element_value((By.XPATH, "//tr[contains(.,'" + myString + "')]//td[5]"), 'finished'))
                print(element)
                return col.text
            except:
                col.text
            raise TimeoutException("Not Finished yet")

Я ожидаю, что как только статус будет изменен на завершенный, он должен продолжить дальнейшее выполнение.

1 Ответ

0 голосов
/ 08 июля 2019

Мне пришлось что-то изменить, но у меня это нормально работает, на мой взгляд, элемент, на который можно нажимать, работает лучше и ничего не изменится, пока не появится элемент:

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//tr[contains(text(),'your string')]//tr[5]")))
print("Finished")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...