使用Selenium在雅虎财经上寻找按钮[JAVA]

时间:2016-08-12 01:46:44

标签: java selenium yahoo finance

我最近尝试从雅虎财经上发现的财务报告中自动提取季度数据,但无法找到方法。我以为我可以从财务主页{E. https://finance.yahoo.com/quote/SBUX/financials click buttons但我无法找到找到网络元素的方法。首先,我需要点击Balance Sheet按钮。

以下是此按钮的所有HTML代码:

<div class="Fz(s) Fw(500) D(ib) Pend(15px) H(18px)" data-reactid=".27ez98r5x0u.1.$0.0.0.3.1.$main-0-Quote-Proxy.$main-0-Quote.2.0.0.0.1.1:$balance.0">
<span data-reactid=".27ez98r5x0u.1.$0.0.0.3.1.$main-0-Quote-Proxy.$main-0-   Quote.2.0.0.0.1.1:$balance.0.0">Balance Sheet
</span>
</div>

接下来,我需要找到并点击阅读Quartely

的按钮
<div class="Fz(s) Fw(500) D(ib) Pend(15px) H(18px) C($finDarkLink):h Mend(15px) C($actionBlue)" data-reactid=".27ez98r5x0u.1.$0.0.0.3.1.$main-0-Quote-Proxy.$main-0-Quote.2.0.0.0.1.2.$1.0">
<span data-reactid=".27ez98r5x0u.1.$0.0.0.3.1.$main-0-Quote-Proxy.$main-0-Quote.2.0.0.0.1.2.$1.0.0">Quarterly
</span>
</div>

有关查找这些按钮或查找此财务信息的其他方法的任何帮助都会有所帮助。

3 个答案:

答案 0 :(得分:0)

使用Xpaths查找:

//button[contains(.,'Balance Sheet')]
//button[contains(.,'Quarterly')]

答案 1 :(得分:0)

实际上这些按钮在加载页面后已准备好点击,因此您应该尝试使用WebDriverWait等待,直到这些按钮可见并准备点击如下:

String url = "https://finance.yahoo.com/quote/SBUX/financials";

driver.get(url);

WebDriverWait wait = new WebDriverWait(driver, 20);

WebElement balanceSheet = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//span[text() = 'Balance Sheet']")));
balanceSheet.click();


WebElement quarterly = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//span[text() = 'Quarterly']")));
quarterly.click();

答案 2 :(得分:-1)

是否有可能通过excel VBA从雅虎财务中提取季度资产负债表。我正努力在VBA的股票代码帮助下提取季度损益表,资产负债表和现金流量,我也无法提取一个特定的项目,例如:收入或净收入或现金和现金等价物等,我是刚接触VBA的新手。