Я разместил это в обсуждениях UC на GitHub:
Я увлекаюсь хакерством, поэтому, пожалуйста, простите мне отсутствие навыков программирования.
Вчера мой chromedriver и uc (я думаю) обновились, и теперь я получаю исключение Timeout
Traceback (most recent call last):
File "C:\Users\admin\OneDrive\PycharmProjects\webscrape\nba.py", line 157, in
mgm_data = mgm_scrape(Url, max_list_len)
File "C:\Users\admin\OneDrive\PycharmProjects\webscrape\CommonFuns.py", line 407, in mgm_scrape
WebDriverWait(driver, timeout).until(EC.presence_of_element_located((By.CLASS_NAME, "participant")))
File "C:\Users\admin\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\support\wait.py", line 105, in until
raise TimeoutException(message, screen, stacktrace)
Когда я использую обычный chromedriver (не uc), все работает без ошибок.
ОС — Win11
selenium — 4.16.0seleniumbase — 4.22.1
Python — 3.9
URL — https://sports.ks.betmgm.com/en/sports/ ... ting/usa-9
Работающий код — единственное отличие — первые 4 строки:
**service = Service()
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options) # mgm only works with normal chrome webdriver**
# driver = sbDriver(uc_cdp=True, incognito=True)
# driver.set_window_size(930, 930)
# driver.get('https://nowsecure.nl')
# time.sleep(20)
# driver.save_screenshot('C:/Users/admin/Desktop/nowsecure.png')
mgm_web = Url
driver.get(mgm_web)
sleep_time = 2.5 + (max_list_len / 40)
time.sleep(sleep_time)
# time.sleep(4) # ncaabb tourney sleep time to click button
# try to click more button twice for long list lengths
button_loops = int(max_list_len / 50)
if max_list_len > 73:
for i in range(button_loops):
try:
more_button = driver.find_element(By.CSS_SELECTOR,
'#main-view > ms-widget-layout > ms-widget-slot > ms-composable-widget > ms-widget-slot > ms-tabbed-grid-widget > div > div')
more_button.location_once_scrolled_into_view
except NoSuchElementException:
print("no mgm button")
break
else:
time.sleep(2)
more_button.click()
time.sleep(3)
# manage stale element errors
timeout = sleep_time
for i in range(4):
try:
WebDriverWait(driver, timeout).until(EC.presence_of_element_located((By.CLASS_NAME, "participant")))
mgm_team_name = driver.find_elements(By.CLASS_NAME, "participant")
# WebDriverWait(driver, timeout).until(EC.presence_of_element_located((By.XPATH,
# '//*[@id="main-view"]/ms-fixture-list/div/div/div/div/ms-grid/div/ms-event-group[1]/ms-six-pack-event[1]/div[2]/a/ms-event-detail/ms-event-name/ms-inline-tooltip/div/div[1]/div/div/div[1]/div')))
# mgm_team_name = driver.find_elements(By.XPATH,
# '//*[@id="main-view"]/ms-fixture-list/div/div/div/div/ms-grid/div/ms-event-group[1]/ms-six-pack-event[1]/div[2]/a/ms-event-detail/ms-event-name/ms-inline-tooltip/div/div[1]/div/div/div[1]/div')
for j in range(len(mgm_team_name)):
mgm_team_name[j] = mgm_team_name[j].text
print(mgm_team_name)
print('mgm name stale element loops', i)
break
except StaleElementReferenceException or NoSuchElementException or TimeoutException:
continue
Код, который раньше работал, а теперь не работает:
driver = sbDriver(uc_cdp=True, incognito=True)
# driver.set_window_size(930, 930)
# driver.get('https://nowsecure.nl')
... same code as before
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-selenium
Проблема с Chrome 130/Необнаруженный Chromedriver/Python/Selenium ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Необнаруженный Chromedriver не использует последнюю версию Chromedriver для моего браузера
Anonymous » » в форуме Python - 0 Ответы
- 41 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Необнаруженный Chromedriver не использует последнюю версию Chromedriver для моего браузера
Anonymous » » в форуме Python - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-