2017-05-31 147 views
1

嗨我想在本地Excel應用程序中使用Selenium Wrapper在VBA中執行JavaScript。使用Selenium Webdriver執行JavaScript

以下代碼在Chrome控制檯上執行JavaScript併爲我提供預期輸出。

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

要執行JavaScript通常需要使用雙引號,但是VBA不接受它,因爲它有兩個雙引號。

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

我試圖將它定義爲另一個變量的串中的值,但它仍然給我錯誤。

我不想用click方法找到findElementByXpath。如果有人知道這個解決方法,會請求。

編輯1 而不是在鉻上工作的$ x,使用document.evaluate在webdriver中起作用。

回答

1

對於它的價值,

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

應該這樣寫:

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

既然你不能點擊未使用webdriver的顯示元素,但執行即使元素JavaScript的工作不顯示。 – Sanjoy

相關問題