Взгляните на эту веб-страницу. Я хочу извлечь текстовый элемент «2013». Я использую для этого RSelenium, но если кто-нибудь знает, как это сделать с помощью любого другого пакета, это тоже нормально. Мой текущий сценарий следующий:
startServer()
remDr <- remoteDriver(browserName="chrome")
remDr$open(silent=T)
remDr$navigate(as.character(url))
remDr$findElement("css selector","#crosstable > table > tbody > tr:nth-child(2) > th:nth-child(2)")$getElementText()
Это дает следующую ошибку:
Error: Summary: NoSuchElement
Detail: An element could not be located on the page using the given search parameters.
class: org.openqa.selenium.NoSuchElementException
Первое, что я заметил, это то, что невозможно выделить этот короткий фрагмент текста с помощью selectorgadget. Итак, я хочу найти фрагмент текста в исходном коде и скопировать его конкретный путь к селектору: #crosstable > table > tbody > tr:nth-child(2) > th:nth-child(2)
. Но как показывает ошибка, это не работает.
Я новичок в веб-сканировании и почти не знаю HTML, поэтому любые подсказки о том, как извлечь текст «2013» из таблицы, приветствуются.
ИЗМЕНИТЬ - я нашел, как это сделать
startServer()
remDr <- remoteDriver(browserName="chrome")
remDr$open(silent=T)
remDr$navigate(as.character(url))
webElem <- remDr$findElement("id", "content_iframe")
remDr$switchToFrame(webElem)
webElem <- remDr$findElement("id", "passthrough")
remDr$switchToFrame(webElem)
remDr $ findElement ("xpath", '// * [@ id = "crossstable"] / table / tbody / tr [2] / th [2]') $ getElementText ()
switchToFrame
для доступа к соответствующему фрейму для ссылки на элементы таблицы. - person jdharrison   schedule 21.10.2016