Здравствуйте, мне надо спарсить данные с сайта, запускаю двайвер, делаю все укладываясь в 30 сек(ввести hash, указать кол-во раундов, дождаться когда все загрузится), в итоге все выглядит так (prnt.sc/wft0xn).
Все вроде хорошо, но выбрасывает NoSuchElementException, хотя все верно указано, пробовал дожидаться через явное ожидание, пока страница загрузит хотя-бы 1 элемент, но он также не видел, хотя все было уже на экране и выбрасывал ошибку, пробовал 2-мя разными способами указывать xpath путь, но тоже NoSuch.
from selenium import webdriver
from selenium.common.exceptions import StaleElementReferenceException, NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from time import sleep
import csv
driver = webdriver.Chrome()
driver.get("https://jsfiddle.net/Dexon95/2fmuxLza/show")
sleep(30)
# 53b25a504ddd78121e6473bfc870d3390f32292e35c0bf7a638ef16d8304e45e
a = 1
while True:
# element = WebDriverWait(driver, 40).until(EC.presence_of_element_located((By.XPATH, "/html/body/section/div[3]/table/tbody/tr[1]/td[1]"))) # ждет загрузки страницы
try:
Hash = driver.find_element_by_xpath(f'//*[@id="game_verify_table"]/tr[{a}]/td[1]').text
print(Hash)
Hash = driver.find_element_by_xpath(f'/html/body/section/div[3]/table/tbody/tr[{a}]/td[1]').text
print(Hash)
game = driver.find_element_by_xpath(f'//*[@id="game_verify_table"]/tr[{a}]/td[2]').text
print(game)
game = driver.find_element_by_xpath(f'/html/body/section/div[3]/table/tbody/tr[{a}]/td[2]').text
print(game)
t = [str(a), 'game', '{};'.format(game), '{}'.format(Hash)]
print(t)
a += 1
except StaleElementReferenceException:
print('исключение1')
except NoSuchElementException:
print('исключение2')