Неправильно, что IE необходим для эффективного взаимодействия с этой страницей. Используя Firefox или Chrome на Mac, маленький значок принтера, расположенный выше и слева от столбцов данных, предлагает «Печать отчета» при запуске и при нажатии вызывает загрузку файла с именем «CrystalReportViewer1.pdf». Если затем использовать cross-platform browser-plugin application named Tabula, вы можете извлечь данные в форме csv. Верхняя часть извлеченных данных (на 1 апреля 2016 года) выглядит следующим образом:
Syndication ,Gilt Name ,Amount Sold ,Issue ,Issue ,Announcement ,Results
Date ,"",(£ million ,Price (£) ,Yield ,Press Release ,Press Release
"","",nominal),"","","",""
23 Feb 2016 ,0 1/8% Index-linked Treasury Gilt 2065 ," 2,750.0 ", 163.73 ,-0.8905% ,Announcement ,Results
01 Dec 2015 ,0 1/8% Index-linked Treasury Gilt 2046 ," 3,250.0 ", 129.74 ,-0.7475% ,Announcement ,Results
20 Oct 2015 ,2½% Treasury Gilt 2065 ," 4,750.0 ", 98.40 , 2.5570% ,Announcement ,Results
22 Sep 2015 ,0 1/8% Index-linked Treasury Gilt 2068 ," 2,500.0 ", 166.00 ,-0.8655% ,Announcement ,Results
21 Jul 2015 ,3½% Treasury Gilt 2068 ," 4,000.0 ", 121.31 , 2.7360% ,Announcement ,Results
Вместо того, чтобы извлечь PDF из этой страницы (которая не в форме Pdf, насколько я могу судить), вы должны использовать вместо RSelenium загрузит файл pdf на локальный диск и обработает его оттуда.
Это кнопка ID:
{'id':'CrystalReportViewer1_toptoolbar_print'}
Есть демки в RSelenium страницах справки. Один из них имеет право: selDownloadZip.R. Он показывает, как выполнить «щелчок» на «элемент страницы»:
webElem <- remDr$findElement("id", "CrystalReportViewer1_toptoolbar_print")
webElem$clickElement()
Затем, глядя на «элемент Ревизоре» в панели ViewSource Firefox, я вижу имя кнопки («ID», «theBttnbobjid_1459536946505_dialog_submitBtn»), поэтому нужен еще один щелчок. Однако это число изменяется при каждом доступе страницы, поэтому используйте webElem <- remDr$findElement("link text", "Export")
webElem <- remDr$findElement("link text", "Export")
webElem$clickElement()
Было бы неплохо, чтобы просмотреть страницу помощи webElement класса.
Не по теме: Пожалуйста, отметьте прошлые вопросы, как решить, если ответ вам помог. – lukeA
@ lukeA, да, вы помогли мне по одному вопросу, и я только что принял ваш ответ. Еще раз спасибо. –