из seleniumbase import SB
Код: Выделить всё
def scrape_servipag_service_reading(service_type, company, identifier):
result = None
with SB(uc=True, headless2=True) as sb:
try:
sb.set_window_size(1920, 1080)
url = f"https://portal.servipag.com/paymentexpress/category/{service_type}"
sb.uc_open_with_reconnect(url, 4)
sb.uc_gui_click_captcha()
sb.sleep(10)
# Scroll to find element
for _ in range(30):
sb.execute_script("window.scrollBy(0, 100);")
sb.sleep(0.2)
if sb.is_element_visible("#card-lib-selectCompany-change"):
break
sb.wait_for_element("#card-lib-selectCompany-change", timeout=100)
sb.select_option_by_text("#card-lib-selectCompany-change", company)
# More interactions follow...
except Exception as e:
print(f"Error: {e}")
return result
Элемент #card-lib-selectCompany-change no se encontró después de
различных намерений desplazamiento.
Чтобы решить эту проблему в безголовом режиме, я попробовал следующее:
- Настройка пользовательского агента.
- Явная установка размера области просмотра 1920x1080.
- Добавление большего количества попыток прокрутки и интервалов ожидания. li>
- Переключение между headless=True и headless2=True.
Код: Выделить всё
print("Current URL:", sb.get_current_url())
print("Page Source:", sb.get_page_source())
Код: Выделить всё
Current URL:
chrome-extension://neajdppkdcdipfabeoofebfddakdcjhd/audio.html
Page Source:
Подробнее здесь: https://stackoverflow.com/questions/791 ... ment-not-f