使用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()")
既然你不能点击未使用webdriver的显示元素,但执行即使元素JavaScript的工作不显示。 – Sanjoy