2017-05-31 8 views
1

Hallo Ich versuche, ein JavaScript in VBA in der nativen Excel-Anwendung mit Selenium Wrapper auszuführen.Führen Sie JavaScript mit Selenium Webdriver

Der folgende Code führt ein JavaScript in Chrome Console aus und gibt mir meine erwartete Ausgabe.

Um JavaScript auszuführen, muss es normalerweise in doppelten Anführungszeichen stehen. Dies wird jedoch von VBA nicht akzeptiert, da es zwei doppelte Anführungszeichen hat.

driver.ExecuteScript("$x("//label[text()[contains(.,'British')]]")[0].children[1].children[0].click()") 

ich versuchte, es als Zeichenkette in einer anderen Variable mit der Verkettung der Werte zu definieren, aber es gibt mir immer noch Fehler.

Ich möchte findElementByXpath nicht mit Klick-Methode. Würde fragen, ob jemand einen Workaround davon kennt.

Bearbeiten 1 anstelle von $ x, die auf Chrome funktioniert, mit Document.evaluate funktioniert in Webdriver.

Antwort

1

Für das, was es wert ist,

driver.ExecuteScript("$x("//label[text()[contains(.,'British')]]")[0].children[1].children[0].click()") 

wie folgt geschrieben werden:

driver.ExecuteScript("$x(""//label[text()[contains(.,'British')]]"")[0].children[1].children[0].click()") 
+0

Da Sie ein Element nicht klicken kann, die WebDriver nicht angezeigt wird verwendet, aber eine Ausführung Javascript, auch wenn das Element funktioniert wird nicht angezeigt. – Sanjoy

Verwandte Themen