使用Selenium Webdriver执行JavaScript

问题描述:

嗨我想在本地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中起作用。

对于它的价值,

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