Главное меню этой страницы (linio) содержит 11 ссылок. Интересует только 9 (с серым фоном и показом подменю при зависании).RSelenium: нажмите на невидимый объект - ElementNotVisibleException
Я хочу щелкнуть каждый элемент в подменю из 9 вариантов. Требуемый процесс:
1.-Первый раздел: «Celulares y Tablets».
2.-Перейти к: «Celulares y Smartphones». Нажмите на эту страницу.
3.-Извлеките некоторые данные (проверено, я смог это сделать).
4.-Перейти к следующему подменю в «Celulares y Tablets». Что такое: «Accesorios Celular».
5.-Извлеките некоторые данные и перейдите к следующему подменю. После выполнения всех подменю в этом разделе я перейду к следующему большому разделу: «TV-Audio-y-Foto».
И так далее с 9 разделами.
HTML Estructure
Глядя исходный код, я пришел к этому:
1.- Главный заголовок: основной заголовок в 'нав' тег:
<nav id="headerMainMenu>
2.- Внутри метки «nav» находится «ul», и каждый «il» внутри имеет и «id» для каждого из 9 разделов:
<nav id="headerMainMenu>
<ul>
<il id = "category-item-celulares-y-tablets"><a href="..."></il>
<il id = "category-item-celulares-y-tablets"><a href="..."></il>
<il id = "category-item-celulares-y-tablets"><a href="..."></il>
</ul>
</nav>
3.- Внутри элементов иль есть DIV элементы, содержащие ссылки нам нужно: Пожалуйста, обратите внимание на <a>
с классом = «subnav__title».
<nav id="headerMainMenu>
<ul>
<il id = "category-item-celulares-y-tablets"><a href="...">
<div class="col-3">
<a href="..."class="subnav__title">TV y Video</a>
</il>
<il id = "category-item-celulares-y-tablets"><a href="..."></il>
<il id = "category-item-celulares-y-tablets"><a href="..."></il>
</ul>
</nav>
4.- Использование RSelenium для перехода к каждой секции:
library(RSelenium)
library(rvest)
#start RSelenium
checkForServer()
startServer()
remDr <- remoteDriver()
remDr$open()
#navigate to your page
remDr$navigate("http://www.linio.com.pe/")
#Accesing the first submenu from "Category Celulares y Tablets
webElem <- remDr$findElement(using = 'css', value = "#category-item-celulares-y-tablets a.subnav__title")
webElem$sendKeysToElement(list(key = "enter"))
Но делать это показывает эту ошибку:
> webElem$sendKeysToElement(list(key = "enter"))
Error: Summary: StaleElementReference
Detail: An element command failed because the referenced element is no longer attached to the DOM.
class: org.openqa.selenium.StaleElementReferenceException
* Я думаю, что это question может быть Помогите. Но я этого не понимаю.
** Я думаю, что мой CSS - это хорошо.
Спасибо, что попробовали @MatZeg. Я думаю, что у Чуй есть ответ. Мне нужно проверить его, чтобы дать ему полный кредит. Но спасибо! –