Невозможно нажать кнопку, которая является частью IFrame, используя C # webdriver

У меня есть C# webdriver, настроенный для моей Visual Studio 2010. Я хочу clcik на кнопку «Установить» из iframe. Я пишу код C#, чтобы нажать на кнопку Install из этого IFrame.

Вот код HTML ...

<html>
<head></head>
<body>
<"pt1:pt2:mvtiframe" class="gradbg af_inlineFrame p_AFFlow" frameborder="0"   onload="AdfDhtmlInlineFramePeer.__iframeLoadHandler(event)" src="some url" style="width:700px; height:360px" _adfloaded="1">
<html>
<tr>
<td style="text-align: left; height: 35px" colspan="3">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td>

Install

</td> </tr> </html> </iframe> </body> </html>

I am trying with below code to click on "Install" button. But does not work. It says could not locate the element.

FirefoxDriver driver = new FirefoxDriver();
driver.SwitchTo().Frame(0);
driver.FindElement(By.Name("Install")).Click();

Tried with Xpath but i don't get the Xpath for Install button which is part of the IFrame.

2
nl ja de

2 ответы

Проблема здесь в том, что «Имя» элемента не «Установить», Установите текст для кнопки.

I would try some Xpath like this: "//a[@class='imageButton']"

driver.FindElement(By.Xpath("//a[@class='imageButton']")).Click();

Если это ваш источник страницы, вы сможете найти элемент, используя этот класс. Все это предполагает, что ваш SwitchTo (). Frame работает должным образом.

Кроме того, если это возможно, я бы рекомендовал поместить имя или ID в этот iFrame вместо использования индекса. Это будет более надежным в долгосрочной перспективе, если страница изменится.

1
добавлено

Проблема здесь в том, что «Имя» элемента не «Установить», Установите текст для кнопки.

I would try some Xpath like this: "//a[@class='imageButton']"

driver.FindElement(By.Xpath("//a[@class='imageButton']")).Click();

Если это ваш источник страницы, вы сможете найти элемент, используя этот класс. Все это предполагает, что ваш SwitchTo (). Frame работает должным образом.

Кроме того, если это возможно, я бы рекомендовал поместить имя или ID в этот iFrame вместо использования индекса. Это будет более надежным в долгосрочной перспективе, если страница изменится.

1
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing