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)
< /code>
Wenn ich den normalen Chromedriver (nicht UC) verwende, wird alles ohne Fehler ausgeführt. https://sports.ks.betmgm.com/en/sports/basketball-7/betting/usa-9
Code, der funktioniert-Erste 4 Zeilen sind der einzige Unterschied:
**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
< /code>
Code, der früher funktioniert hat, aber jetzt nicht: < /p>
driver = sbDriver(uc_cdp=True, incognito=True)
# driver.set_window_size(930, 930)
# driver.get('https://nowsecure.nl')
... same code as before
Ich habe dies in die UC Github -Diskussionen gekreuzt: < /p> Ich bin ein Hack -Hobbyist. Bitte verzeihen Sie meinen Mangel an Codiing -Fähigkeiten.[code]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) < /code> Wenn ich den normalen Chromedriver (nicht UC) verwende, wird alles ohne Fehler ausgeführt. https://sports.ks.betmgm.com/en/sports/basketball-7/betting/usa-9 Code, der funktioniert-Erste 4 Zeilen sind der einzige Unterschied: **service = Service() options = webdriver.ChromeOptions() driver = webdriver.Chrome(service=service, options=options) # mgm only works with normal chrome webdriver**
# 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 < /code> Code, der früher funktioniert hat, aber jetzt nicht: < /p> driver = sbDriver(uc_cdp=True, incognito=True)
# driver.set_window_size(930, 930) # driver.get('https://nowsecure.nl') ... same code as before [/code]
Ich schreibe einen Code mit Selen und stelle an einem Punkt 7 Anfragen auf verschiedene Websites. Für den ersten funktioniert dies einwandfrei. Für andere erhalte ich jedoch einen Sitzungs -ID...
Bevor ich anfange: Ich weiß, dass es eine Milliarde Beiträge darüber gibt, dass Selenium nicht funktioniert, und dass es verschiedene Lösungen gibt, die man ausprobieren kann. Ich glaube, ich habe...
Ich verwende Selenium Version 4.31.0 mit Chromedriver und Chrome Version 129 zum Durchkratzen durch Python. Ich laufe einen einfachen Schaber, der aus mehreren URLs abkratzt. Innerhalb von 5 Minuten...
Die Spezifikationen:
Intellidea mit Python auf Nobara Linux (Fedora -basiert 41)
Flatpak -Methode. Bis es anfing, mir Probleme mit Fehlern zu geben, wenn ich versuchte, Protokolle zu überprüfen...
824, Loma Mar CA ,48.6978857200 130.5393541000
603 Sandy Hook CT 72.3374801400 148.2400769000
478 Tipton IN 33.5479270100 97.9428603600
619 Arlington CO 75.1799307900 92.9461589400
711 Turner AR...