【发布时间】:2021-08-10 01:21:43
【问题描述】:
我正在开发一个从雅虎财经导出投资基金历史数据的程序。我对硒(python)非常陌生,并且遇到了一些我找不到提取方法的元素的问题。我已经研究过使用 xpath 以及 id、name 和 class 来获取元素,但仍在苦苦挣扎。
我有代码可以让我访问我需要的网页,但是一旦我需要开始点击按钮,我就会遇到需要与之交互的所有剩余元素的障碍。请查看我附加的源代码,以及我显示的片段,我试图按顺序抓取哪些元素。
关于我的源代码的注意事项:我相信有一种比使用 time.sleep() 函数更有效的方法来计时查找元素,但我不熟悉如何实现它.在您的解决方案中,我很高兴看到改进了我的代码或与我目前所拥有的代码一致的代码。
我的代码应该将您导航到我正在使用的网址。非常感谢所有帮助,谢谢!
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
ticker = "FXAIX"
# Declare browser variables
path = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(path)
# Open Chrome and go to YF
driver.get('https://finance.yahoo.com')
search = driver.find_element_by_id("yfin-usr-qry")
search.send_keys(ticker)
search.send_keys(Keys.RETURN)
time.sleep(10)
#Click Historical Data
history = driver.find_element_by_link_text("Historical Data")
history.click()
time.sleep(10)
#Click the Time Period
#Click Max
#Click Apply
#Click Download
剪报:https://i.stack.imgur.com/OSJud.png https://i.stack.imgur.com/zZ4bx.png
【问题讨论】:
标签: python selenium class xpath