【发布时间】:2018-04-26 06:04:23
【问题描述】:
在我正在做的一个项目中,我告诉 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,以及让驱动程序使用driver.find_element_by_id("id") 重新找到iframe,但都不起作用。
【问题讨论】:
-
请用带有 iframe 标签的 HTML 代码更新问题,以及切换到 iframe 后您想做什么。
-
@cruisepandey 我修正了我的解释,让它更有意义
标签: python-3.x selenium web-scraping beautifulsoup