#c# #selenium #selenium-firefoxdriver
#c# #селен #selenium-firefoxdriver
Вопрос:
Я использую следующие спецификации для своего тестирования:
Mozilla Firefox 46.1
Selenium WebDriver 2.53.1 via Nuget
Windows 10 64bit
Вот мой код
using (IWebDriver driver = new FirefoxDriver())
{
driver.Navigate().GoToUrl("someURL");
//error
var e_email = driver.FindElements(By.TagName("input"))
.Where(x => x.GetAttribute("name") == "email"
amp;amp; x.GetAttribute("Placeholder") == "Guest Email").FirstOrDefault();
//also error
string js = "var paras = document.getElementsByClassName('someClass');for(var i=0;i<paras.length;i ) {{ paras[i].parentNode.removeChild(paras[i]);}}";
((IJavaScriptExecutor)driver).ExecuteScript(js);
}
Приведенный выше код хорошо работает в Mozilla Firefox 46.1
и Selenium 2.53.1
. Ошибки появляются, когда я обновляю Selenium to ver 3.0
and Mozilla Firefox to ver 47
с помощью geckodriver 0.11.1
Он генерируется error : Permission denied to access property 'navigator'
для LINQ и Permission denied to access property 'document'
для IJavaScriptExecutor при выполнении после обновления до более новой версии. Почему это должно произойти и как решить эту проблему?
Комментарии:
1. может быть какая-то проблема со значением someURL
2. @viveknuna Нет, потому что он работает хорошо, когда я переходил на предыдущую версию
3. Вы используете iframe?
4. @viveknuna Нет. Я не использую ни iframe, ни frame.
Ответ №1:
У меня была аналогичная проблема, ожидающая довольно сложного XPath в WebDriverWait, и в итоге ее исправлением стало обновление Firefox до 49.0.2.