python - 如何从 Python 中的 Selenium Web 元素中提取内部元素?
问题描述
我正在尝试使用 Selenium 从此页面中提取股票代码并将它们插入到列表中: https ://www.barchart.com/stocks/highs-lows/highs?timeFrame=1y
我的代码:
StockList = []
driver = webdriver.Chrome()
url = "https://www.barchart.com/stocks/highs-lows/highs?timeFrame=1y"
driver.get(url)
stock_list = driver.find_elements_by_tag_name("tr")
for stock in stock_list:
stock.find_element_by_name("data-current-symbol=")
print(stock)
我收到一个NoSuchElementException
.
当我检查页面时,每个页面tr
都有以下内容:"data-current-symbol="ACY
如何提取股票代码?
解决方案
使用这个选择器:
tr[data-current-symbol]
并利用.get_attribute
方法:
StockList = []
driver = webdriver.Chrome()
url = "https://www.barchart.com/stocks/highs-lows/highs?timeFrame=1y"
driver.get(url)
stock_list = driver.find_elements_by_css_selector("tr[data-current-symbol]")
for stock in stock_list:
symbol = stock.get_attribute('data-current-symbol')
print(symbol)
StockList.append(symbol)
推荐阅读
- javascript - 在此之前,同步调用不会阻止警报
- javascript - 从函数指针到另一个成员函数的函数调用给出“未捕获的类型错误:不是函数”
- python - 捕捉通用换行符但保留原始换行符
- ios13 - 在 PencilKit 中编辑 PKDrawing
- macos - Mac OS 上 io.c(226) [sender=3.1.3] 的 rsync 错误(代码 12)
- javascript - 在反应组件类中,“道具”对象究竟是从哪里拉出来的?
- c# - 为什么在使用 Prism EventAggregator 时没有调用我的订阅方法?
- ios - SwiftUI 从 var body 调用变异函数
- c++ - 在启动时填充全局静态数组
- angular - 在 Angular 中读取 JSON 数据并在 GUI 上显示