Почему тот же самый javascript может работать с командой runcript, но не в getEval в RC - PullRequest
0 голосов
/ 27 марта 2012
string str = "var temp = window.document.getElementById('ctl00_PageContentPlaceHolder_Manager');temp.style.display = 'inline';";
str += "temp.add(new Option('111', '222'));";
str += "temp.nextSibling.childNodes[1].innerHTML = '<I></I><SPAN></SPAN>Edit Manager Contact';";
//selenium.RunScript(str);
selenium.GetEval(str);

Отслеживание журнала ошибок, чтобы увидеть, кажется, "temp.add(new Option('111', '222'));"; оператор не работает под командой getEval. ошибка показывает:

«Доступ к собственности запрещен»

Помимо контекста, отличного от этих двух команд. Почему?

1 Ответ

2 голосов
/ 27 марта 2012

Runscript запускает скрипт в той же области, но GetEval принимает str и пытается запустить его в другой области. Если проблема связана с оператором temp.add, я полагаю, это связано с тем, что определение Option не входит в область действия при выполнении GetEval.

...