Невозможно нажать на якорь внутри фрейма со значением href как javascript, используя селен.Невозможно щелкнуть по якорю внутри кадра с указанием значения href как javascript, используя selenium
@ Примечание: я мог бы вручную щелкнуть/вызвать javascript из консоли разработчика IE, все выглядит хорошо. Вопрос только через селен.
Вот исходный код страницы, как
<html>
<body>
<p>
<iframe name="iframe1" width="100" height="218" src="about:blank" frameborder="0" marginwidth="0" "marginheight="0" scrolling="yes">
<html>
<body>
<div class="className" id="DivName"onmouseover="startLinkHover(0,70)" onmouseout="stopLinkHover()">
<a name="link0" href="javascript:function()" shape=""> This is link 1 </a>
</div>
</body>
</html>
</iframe>
</p>
</body>
</html>
Я работаю с C#, IE и селена
Selenium.WebDriver.IEDriver" version="2.53.1.1"
Selenium.WebDriver" version="3.0.0"
Selenium.Support" version="3.0.0"
IE 11 (As my web application only support IE)
Вот что я пробовал: Как это страница, состоящая из фрейма
1) Я переключаюсь на iframe и нахожу якорь с использованием имени и нажимаю
driver.SwitchTo().Frame(driver.FindElement(By.Name("iframe1"));
driver.FindElement(By.XPath("//a[@name='link0']")).click();
2) Я также попытался извлечь свойство href в строчную переменную и попытался выполнить javascript с помощью Javascript-исполнителя.
driver.SwitchTo().Frame(driver.FindElement(By.Name("iframe1"));
var js=driver.FindElement(By.XPath("//a[@name='link0']")).GetAttribute("href");
var jsDriver = (IJavaScriptExecutor)driver;
jsDriver.ExecuteScript(js);
Пожалуйста, простите, если какая-либо опечатка, как я не хочу, чтобы опубликовать исходный HTML здесь я объяснил свою проблему с образцом.
Спасибо
Почему ' This is link 1'? does 'href =" javascript: function() "' возвращает страницу с сервера, или я вижу это неправильно? где выполняется 'href =" javascript: function() "'? По __ «Нельзя щелкнуть по якорю внутри рамки» __ вы имеете в виду, что он ничего не делает? есть ли ошибки в консоли? –
Спасибо Диего, нет. Он не возвращает страницу. Странно, что они использовали вызов функции javascript из href вместо «onclick» и т. Д. Невозможно щелкнуть в том смысле, что он пытается вызвать функцию, но сразу возвращается без каких-либо исключений. На консоли нет ошибок. Это приложение третьей стороны, с которым мы пытаемся интегрироваться, и у меня нет большой помощи. Я хотел узнать, что не так с тем, как я пытаюсь это сделать? и любой другой лучший подход для этого. И другая неприятная вещь - F12 отключен для отладки при прохождении через селен. – Programming
Есть ли у вас какие-либо ошибки при первой попытке? Вы уверены, что находитесь в правильном iframe, и у вас нет другого до этого с похожим именем? – lauda