В настоящее время я пытаюсь очистить данные о биоразнообразии с определенного сайта (http://www.faunaeur.org/?no_redirect=1). Мне удалось получить некоторые результаты, но не так автоматизирована, как я надеялся ... The Первая часть делается, который просматривает через веб-сайт:Rselenium - Как очистить данные с веб-страницы без каких-либо идентификаторов или имен любого типа
Настройка Rselenium:
library(RSelenium)
download.file("https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-win64.zip",destfile="./gecko.zip")
unzip("./gecko.zip",exdir=".",overwrite=T)
checkForServer(update=T)
selfserv = startServer()
mybrowser1 = remoteDriver(browserName="firefox",extraCapabilities = list(marionette = TRUE))
mybrowser1$open()
Тогда, начиная мой просмотр (который был бы примером для Балеарских островов):
mybrowser1$navigate("http://www.faunaeur.org/distribution.php?current_form=species_list")
mybrowser1$findElement(using="xpath","//select[@name='taxon_rank']/option[@value='7']")$clickElement() # Class
mybrowser1$findElement(using="xpath","//input[@name='taxon_name']")$sendKeysToElement(list('Oligochaeta')) # Oligochète
mybrowser1$findElement(using="xpath","//select[@name='region']/option[@value='15']")$clickElement()
mybrowser1$findElement(using="xpath","//input[@name='include_doubtful_presence']")$clickElement()
mybrowser1$findElement(using="xpath","//input[@name='submit2']")$clickElement()
с этого момента я могу скачать файл XLS из 20 подвидов с помощью:
mybrowser1$findElement(using = "xpath", "//a[@href='JavaScript:document.export_species_list.submit()']")$clickElement()
Но это не то, что я хочу, я не хочу использовать «клик». Можно ли загрузить файл из этой ссылки JavaScript прямо в моей среде R или очистить таблицу из 20 подвидов непосредственно из исходного кода веб-страницы с помощью Rselenium?
Я пробовал эти два решения, но это тупик ... Самая большая проблема в том, что страница является временной страницей или «страницей результатов», и кажется, что я не могу найти в ней никаких @value, @id, @name или @class, соответствующие таблице, в которой я нуждаюсь.
Любая подсказка о решении, которое подразумевало автоматизированный способ его выполнения через R? Мне нужно это в этой форме, потому что скрипт должен запускаться впоследствии людьми, которые должны сами создавать результаты. Заранее спасибо !
Да вам нужно будет установить соответствующие параметры firefox см. http://stackoverflow.com/questions/36574012/rselenium-setting-makefirefoxprofile-for-mac-os-x-to-download-files-without-ask. Затем файл xls будет загружен в каталог, который вы назвали – jdharrison
. Я действительно уже проверил это. Было просто интересно, было ли еще какое-то эффективное решение ... Поскольку вы разработчик Rselenium, jdharrison, я не думаю, что получу лучшие ответы! Спасибо –