Я перечитал много разных тем и попробовал много разных способов, на этом этапе по многим советам я дошел до селена, учитывая различные попытки и ошибки, я кинул такой код с помощью WebDriverWait и TimeoutException, и все равно не могу получить желаемый результат.
Код: Выделить всё
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
user_agent = ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3’
chrome_options = Options()
chrome_options.add_argument(f'user-agent={user_agent}')
driver = webdriver.Chrome(options=chrome_options)
driver.get('https://yandex.com/')
try:
element = WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, '/html/body/main/div[2]/div/div/div[1]/div/a')))
print(element.text)
except TimeoutException:
print(“Time is over!”)
если я правильно понял, то проблема может быть в том, что с при каждом новом открытии браузера и страницы, да и вообще во время присутствия на странице, рекламные баннеры постоянно обновляются, и соответственно меняется XPATH, код не может уловить тот XPATH, который я скопировал в коде страницы на странице, потому что либо его уже нет вообще, либо потому что на данный момент рекламный баннер другой и соответственно другой XPATH. Может быть кто-то сталкивался с такими задачами или в принципе знает, как с этим справиться? Может я зря использую селен и есть какой-то другой способ... Мне нужно собрать ссылки с баннеров на разных сайтах... Помогите...
Подробнее здесь: https://stackoverflow.com/questions/790 ... ound-links