Написала программу, которая авторизуется по прокси, очищает кукис, ставит фейковый юзер-агент, и всё это с помощью селениума. В яндекс пишу запрос: починить самокат.
Если в выдаче яндекса есть сайт prostomesto.ru, то нужно по нему перейти.
Но почему-то селениум его не видит (строка driver.find_element_by_link_text(site_link).click() почему-то не переходит по ссылке с называнием prostomesto.ru)
Как проверить, что ссылка именно prostomesto.ru и собственно по ней перейти?
Код:
from seleniumwire import webdriver
from fake_useragent import UserAgent
from time import sleep
def yandex():
login = 'R5edkrXE'
password = 'rU1Ff396'
proxy_adress_now = '194.59.12.83:56451'
proxy_options = {
"proxy": {
"https": f"https://{login}:{password}@{proxy_adress_now}"
},
"User-Agent": UserAgent().chrome # фейковый юзер-агент
}
driver = webdriver.Chrome(
executable_path='chromedriver.exe',
seleniumwire_options=proxy_options
)
driver.maximize_window()
driver.delete_all_cookies() # очищаю куки
try:
site_link = 'prostomesto.ru' # если написать "Самокаты есть у нас! Смотри прямо сейчас!", то он кликает на ссылку
url = f"https://yandex.ru/search/direct?&text=починить самокат"
driver.delete_all_cookies() # снова очищаем куки чтоб уже наверняка
driver.get(url)
print("открыли сайт яндекса")
sleep(25)
try:
driver.find_element_by_link_text(site_link).click() # открываем сайт, если его ссылка - prostomesto.ru
sleep(3)
except Exception:
print(f"сайта {site_link} нет в рекламной выдаче яндекса")
pass
except Exception as e:
print(e)
finally:
driver.close()
driver.quit()
if __name__ == '__main__':
yandex()