В проекте, который я делаю, я говорю Selenium пойти и почистить данные на следующей странице, которая имеет точно такой же URL.
Мой код:
driver = webdriver.Chrome()
driver.get("https://etherscan.io/token/0x168296bb09e24a88805cb9c33356536b980d3fc5#balances")
iframe1 = driver.find_element_by_id('tokeholdersiframe')
driver.switch_to.frame(iframe1)
soup = BeautifulSoup(driver.page_source, 'html.parser')
token_holders = soup.find_all('tr')
driver.find_element_by_link_text('Next').click()
time.sleep(10)
token_holders2 = soup.find_all('tr') #I get the data from previous page (exact same as token_holder) rather than the new data.
Тем не менее, Selenium не обновляется, и я все еще получаю те же данные с предыдущей страницы.
Я пытался использовать неявное ожидание после клика:
driver.implicitly_wait(30)
, но оно не работает,Я также попытался сбросить суп на driver.page_source
, а также заставить водителя перефразировать iframe
с помощью driver.find_element_by_id("id")
, но ни одна из них не работает.