2016-11-10 50 views
0

我想讓下面的代碼使用嵌套引號工作,但我不知道如何三重嵌套它們。這是我迄今爲止的代碼,但它不起作用,我運行它時得到了Runtime.evaluate threw exception: SyntaxError: Unexpected token &如何嵌套這些引號?

driver.executeScript("$("li[data-drilldown='interests']").click()") 

好像應該有更好的方式來做到這一點,但我不熟悉不夠用javascript

+0

是否有某些原因需要使用JSE?爲什麼不使用CSS選擇器''li [data-drilldown ='interest']「'並單擊它? – JeffC

+0

由於某些原因,如果我這樣做的web驅動程序錯誤,除非我使用睡眠聲明,我不想處理。該錯誤可能是一個單獨的問題。 – jmreicha

+0

只是FYI ...使用JSE不是一個用戶場景。它允許你做一些用戶不能做的事情。如果你不關心用戶場景,那很好。這聽起來像你需要調查並嘗試一些'WebDriverWait'來解決等待問題。 – JeffC

回答

3

只是逃避他們:

driver.executeScript("$(\"li[data-drilldown='interests']\").click()"); 
2

在選擇爲刪除引號當您要查找的值不包含空格時,它們不是必需的:

driver.executeScript('$("li[data-drilldown=interests]").click()')

driver.executeScript("$('li[data-drilldown=interests]').click()")

因爲JavaScript允許單引號(')或雙(「)引用作爲字符串的分隔符。只要你有他們匹配的配對,或者可以嵌套在另一箇中。這條規則的唯一例外是使用JSON。在那裏,您必須使用雙引號來分隔您的屬性名稱和字符串文字。