Das Hauptmenü auf dieser Seite (linio) hat 11 Links. Nur interessiert an 9 (diejenigen mit grauem Hintergrund und zeigen Untermenüs, wenn sie schwebten).RSelenium: Klicken Sie auf unsichtbares Objekt - ElementNotVisibleException
Ich möchte jedes einzelne Element im Untermenü aus den 9 Optionen klicken. Der gewünschte Prozess ist:
1.-Erster Abschnitt: "Celulares y Tablets".
2.-Gehen Sie zu: "Celulares y Smartphones". Klicke und sieh dir diese Seite an.
3.-Extrahieren Sie einige Daten (überprüft, ich konnte dies tun).
4.-Gehen Sie zum nächsten Untermenü in "Celulares y Tablets". Was ist: "Accesorios Celular".
5.-Extrahieren Sie einige Daten und gehen Sie zum nächsten Untermenü. Nachdem ich mit allen Untermenüs in diesem Abschnitt fertig war, ging ich zum nächsten großen Abschnitt: "TV-Audio-y-Foto".
Und so weiter mit den 9 Abschnitten.
HTML ESTRUCTURE
den Quellcode der Suche, ich habe dazu kam:
1.- Haupt Rubrik: die Haupt-Header innerhalb eines 'nav' tag:
<nav id="headerMainMenu>
2.- Innerhalb der 'Nav' Tag ist eine 'ul', und jede 'il' innerhalb hat und 'ID' für jeden der 9 Abschnitte:
<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.- Im Inneren der il Elemente gibt es div Elemente die Links enthalten, die wir benötigen: Bitte, die <a>
mit der class = "subnav__title" bemerken.
<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 zu jedem Abschnitt zu gehen verwenden:
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"))
Aber tut zeigt so diesen Fehler:
> 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
* Ich denke, das question von sein könnte Hilfe. Aber ich verstehe es nicht.
** Ich denke, mein CSS ist Okay.
Danke für den Versuch, @Matzeg. Ich denke, Chui hat die Antwort. Ich muss es testen, um ihm vollen Kredit zu geben. Aber danke! –