Я сейчас пытаюсь почистить внутреннюю таблицу веб-сайта, которая содержит 16 страниц. Когда я запускаю приведенный ниже код, таблица на последней странице не очищается, и я получаю следующую ошибку:
Traceback (most recent call last):
File "C:/Users/mb4ig/PycharmProjects/Python/Test.py", line 56, in <module>
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Next'))).click()
File "C:\Users\mb4ig\Python\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Когда я выбираю 15 страниц, код работает нормально и все 15/16 страниц столы скребутся. 16-я страница не очищена.
Пожалуйста, кто-нибудь может помочь. Спасибо.
page=1
max_page=16 # Only works when I select 15 pages but the last page isn't scraped.
name=[]
desc=[]
while page<=max_page:
rows= WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH,"//*[@id='container']/table/tbody/tr")))
for row in rows:
name.append(row.find_element_by_xpath('./td[1]').text)
desc.append(row.find_element_by_xpath('./td[2]').text)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, 'Next'))).click()
page=page+1
print('navigate to page: ' + str(page))
driver.close()
df=pd.DataFrame({"Name":name,"Description":desc})
print(df)
df.to_csv('Test.txt',index=False)