Подождите, пока в атрибуте WebElement не будет указано значение c - PullRequest
0 голосов
/ 10 января 2020

Я получил все теги изображений на

image_tags = driver.find_elements_by_xpath('//img')

, однако для sr c изображений требуется некоторое время, чтобы изменить формат на https://..... Итак, вот что я получил сейчас

for image_tag in image_tags:
  WebDriverWait(driver, 60).until(** this image's src contains 'http' **) # how to write this part?
  url = image_tag.get_attribute('src') # get the real url address

Спасибо!

Ответы [ 3 ]

0 голосов
/ 10 января 2020

ОК, объедините этот ответ [Создать пользовательское условие ожидания в Python] с ответом @ OT413, проблема решена

 WebDriverWait(self.browser, 60).until(lambda wd: "http" in img_tag.get_attribute('src'))  
0 голосов
/ 10 января 2020

Вы можете использовать css селектор и WebDriverWait для ожидания, пока img с атрибутом src не начнется с https :

image_tags = WebDriverWait(driver, 60).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "img[src^='https']")))
for image_tag in image_tags:
    print(image_tag.get_attribute("src"))
0 голосов
/ 10 января 2020

Попробуйте это:

  WebDriverWait(driver, 60).until("https://" in image_tag.get_attribute('src'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...