【发布时间】:2020-02-13 04:49:04
【问题描述】:
所以我试图用 selenium 从动态表中解析这些数据,它不断从第 1 页获取旧数据,我试图收集第 2 页的数据,我试图搜索其他答案,但没有没有找到,有人说我需要添加一个等待期,我做了,但是没有用。
from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.webdriver.support import expected_conditions as EC
browser = webdriver.Firefox()
browser.get('https://www.nyse.com/listings_directory/stock')
symbol_list=[]
table_data=browser.find_elements_by_xpath("//td");
def append_to_list(data):
for element in data:
symbol_list.append(element.text)
append_to_list(table_data)
pages=browser.find_elements_by_xpath('//a[@href="#"]')
for page in pages:
if(page.get_attribute("rel")== "next"):
if(page.text=="NEXT ›"):
page.click()
browser.implicitly_wait(100)
for elem in browser.find_elements_by_xpath("//td"): //still fetchs the data from page 1
print(elem.text)
#print(symbol_list)
【问题讨论】:
-
我试图运行你的代码。函数 append_to_list 会导致 stale element 错误。
标签: python selenium parsing dynamic-tables