此頁面的主菜單(linio)有11個鏈接。只對9(灰色背景和徘徊時顯示子菜單)感興趣。RSelenium:單擊不可見對象 - ElementNotVisibleException
我想單擊9個選項中的子菜單中的每個單個元素。期望的方法是:
1.-第一部分:「Celulares y Tablets」。
2. - 轉到:「Celulares y智能手機」。請點擊並看到此頁面。
3.提取一些數據(檢查,我已經能夠做到這一點)。
4.轉到「Celulares y Tablets」中的下一個子菜單。這是:「Accesorios Celular」。
5.提取一些數據,然後進入下一個子菜單。在完成了本節中的所有子菜單後,我將轉到下一個大節:「TV-Audio-y-Foto」。
等9個部分。
HTML Estructure
尋找源代碼,我到了這個:
1 .-主標題:主標題是 '導航' 標籤中:
<nav id="headerMainMenu>
2.-在'nav'標籤內部是一個'ul',裏面的每個'il'對於9個部分中的每一個都有'id':
<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.-的IL元素中,有包含我們需要的鏈接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。我認爲翠有答案。我需要測試它才能給他充分的信用。但是,謝謝! –