我尝试运行ExecuteScript,并且我发现了这个错误
Invalid character '#'
但我从控制台Fife-Fox(调试)测试了这个脚本的所有工作。
这是我如何运行脚本。
IJavaScriptExecutor js = browserToRun as IJavaScriptExecutor;
js.ExecuteScript("'$('#accountListCell').find('option[value='123']').trigger( 'change' )'");
我在这里做错了什么?
我使用的是PhantomJSDriver。
我试图找到错误
string test= "$('\#accountListCell').find('option[value='123']').trigger( 'change' )
这就是我得到的
$('#accountListCell').find('option[value='444-135777']').trigger( 'change' )
答案 0 :(得分:1)
您正在为WebDriver提供脚本。它必须是单个字符串。您已使用"
引号来提供脚本。我们来看看你提供的脚本:
'$('#accountListCell').find('option[value='123']').trigger( 'change' )'
你注意到的第一件事是语法高亮是完全错误的。 $
不是脚本中的字符串,因此将其写入字符串中是没有意义的。删除第一个和最后一个'
:
$('#accountListCell').find('option[value='123']').trigger( 'change' )
现在更好了。还有一个问题。如果查看find
参数,则它是另一个子字符串。 CSS字符串可以包含在'
以及"
中。有时你甚至不需要引号。使用
$('#accountListCell').find('option[value=\"123\"]').trigger( 'change' )
因为如果要在"
中包含的字符串中使用它,或者只是
"
$('#accountListCell').find('option[value=123]').trigger( 'change' )
决赛:
js.ExecuteScript("$('#accountListCell').find('option[value=\"123\"]').trigger( 'change' )");