Python + Selenium , нужно проверить отображаются ли ссылки в поисковике

Все привет. Мне нужно проверить, при поиске Apple в Яндексе, есть ли в первых пяти ссылках apple.com, если нет, то кинуть исключение или ошибку.

Мой код:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import time
import math
import pytest
from selenium.common.exceptions import NoSuchElementException 
from selenium.webdriver.common.keys import Keys


@pytest.fixture(scope="function")
def browser():
    print("\nstart browser for test..")
    browser = webdriver.Chrome()
    yield browser
    print("\nquit browser..")
    browser.quit()


def test_link(browser):
    link = "https://yandex.ru/"  #задаем ссылку https://yandex.ru/
    browser.get(link)   #переходим на yandex
    browser.implicitly_wait(5) #ждем пока все загрузится
    search = browser.find_element_by_css_selector('#text')
    search.send_keys('Apple')
    search.send_keys(Keys.ENTER) #это часть задания)
    browser.implicitly_wait(5)
    links = browser.find_elements_by_css_selector('.path.path_show-https.organic__path > a > b')
    for elem in links[:5]:
        print(elem.text)
    time.sleep(1) #это не обязательно

Вывод:

apple.com
apple.com
re-store.ru
mvideo.ru
instagram.com

У меня есть список, я хочу чтобы список сравнивался с apple.com и если такой сайт есть там, то все ок, автотест завершен. Иначе, выходит ошибка-"сайта Apple нет в первых 5 пунктах". Кто подскажет как это записать в for? Или может вообще без него можно обойтись. Но если к elem не добавлять .text, то тогда find_elements выводит имена атрибутов, а не названия ссылок Типа такого: <selenium.webdriver.remote.webelement.WebElement (session="645189db99ca46c1de1976655d267006", element="e60e24de-71b6-4070-a665-c2a5601e06f2")>


Ответы (1 шт):

Автор решения: gil9red

Попробуйте эту часть поменять.

Тут кидаем исключение, если не совпало:

links = browser.find_elements_by_css_selector('#search-result > .serp-item a.link > b')
items = [elem.text.strip() for elem in links[:5]]

if "apple.com" not in items:
    raise Exception('сайта Apple нет в первых 5 пунктах')
→ Ссылка