[问题] RSelenium 到下拉式选单中的选项

楼主: luenchang (luen)   2021-04-01 12:20:56
请教各位爬虫界的先进,如何让Rselenium找到下拉式选单中对应的网页。
几周前我发问了如何把 QuickFS 网页的表格爬下来。在这个网站里,每支股票有自已的
一个网址,同一个网址下有5个页面 (Overview, Income Statement, Balance sheet,
Cash flow statement, Key ratios),由一个右上角的拉下式选单来决定。网页的特点
是,不论你到那个选项,网址都是一样的。
我目前的进度是可以把主要页面 (选单中的选项= Overview) 中所有表格爬下来。接着,
我想让Rselenium可以到选单中的每个选项页面把所有表格爬下来。我参考了几篇stackoverflow
上提供的code, 但还没有一个能适用于我想爬的网页。感觉可能的方法至少有两个,一是
findElement()这个function把选单中的id及值取出; 另一个是把对应选单的element的
xpath烤下来,再套用某个function里。第一个我试了error, 第二个我也不知道如何写
xpath.
我把我的R程式, 及java, chrome driver的设定放在我的hackMD上面 。希望先进们指教。
https://i.imgur.com/fhiamGY.png
选址是 https://hackmd.io/@Chang/RSelenium_QuickFS
里面有三个部分
(1) Connect Chrome driver, RSelenium
(2) Scrape all tables of the webpage where dropdown option is “Overview”
(3) Scrape tables on the webpage where dropdown option is “Income Statement
” (not working)
我预到的问题是放在最后一个部分。目前我只能把我认为是和选单中选项相对应的
elements烤下来,期待有人能教我如何让 RSelenium进到对应的网页里拿表格。以下
的网页程式码看起来就是选单中的5个选项。我不解为何
con$findElement(using = 'id', value = "ovr")
会error
<a _ngcontent-c4="" id="ovr">Overview</a>
</li><li _ngcontent-c4="">
<a _ngcontent-c4="" id="is">Income Statement</a>
</li><li _ngcontent-c4="">
<a _ngcontent-c4="" id="bs">Balance Sheet</a>
</li><li _ngcontent-c4="">
<a _ngcontent-c4="" id="cf">Cash Flow Statement</a>
</li><li _ngcontent-c4="">
<a _ngcontent-c4="" id="ratios">Key Ratios</a>
想学RSelenium爬虫但还没开始的朋友们,可以参考第1及2部分里的步骤。
感谢。
作者: obarisk (OSWALT)   2021-04-01 20:00:00
要不要先用selenium ide录看看啊.

Links booklink

Contact Us: admin [ a t ] ucptt.com