SwitchTo() Cadre en Sélénium avec c#
- Je utiliser le sélénium sur ce site, mais je ne peux pas utiliser un quelconque de ses éléments. Parce qu'ils vient de "cadre" et sa dans le 'cadre', ici, est partie html;
<frameset rows="0%, 95%" frameborder="0" frameSpacing="0" marginHeight="0" marginWidth="0">
<frame id='unloadFrame' src="/somesrc" noresize>
<frame src="/somesrc" noresize>
</frameset>
<noframes>
Your browser doesn't support frames, This web site requires a frames capable browser.
</noframes>
Je besoin pour accéder au deuxième image qui commence avec la src, j'ai utilisé cette méthode, mais encore ne peuvent pas utiliser n'importe quel élément;
driver.SwitchTo().Frame(1);
Boolean sa = driver.FindElements(By.Id("ctl00_MainContent_txtCustomerId")).Count > 0;
if (sa == true)
{
driver.FindElement(By.Id("ctl00_MainContent_txtCustomerId")).SendKeys("HelloWorld");
}
Est-ce parce que Cadre(1) n'est pas l'image que je veux ? Ou dois-je utiliser de manière différente à entrer?
Merci
- Êtes-vous sûr il n'y a pas plus d'images sur une page?
- assez sûr que oui
- La syntaxe pour la commutation à un cadre semble correct. Êtes-vous sûr de l'élément avec
id="ctl00_MainContent_txtCustomerId"
existe dans le cadre? - Eh bien, j'essaie autre façon de l'écrire(peut-être une page maître préfixe) mais aucun résultat
- double possible de Impossible de trouver l'élément dans Selenium WebDriver Par Nom et XPath
Vous devez vous connecter pour publier un commentaire.
Ce code va aussi passer à l'image avec 'src' attribut '/somesrc " et avec l'attribut 'id' pas 'unloadFrame'
driver.SwitchTo().Frame(1);
n'a pas fonctionné?driver.SwitchTo().Frame(1);
n'a pas fonctionné. J'ai simplement fourni une alternative.. j'ai aussi l'intuition quedriver.SwitchTo().Frame(0);
pourrait travailler ici.. ne Peux pas dire pour sûr que si, mais que id=unloadframe est compté moi.. 🙂Je suis en train d'écrire cette méthode simple pour entrer du texte dans un Iframe.
Où,
Commutateur IFrame en C# -
eg-
pilote.SwitchTo().Cadre(0);
pilote.SwitchTo().DefaultContent();
IWebElement élément= pilote.FindElement(Par.Id("ElementID"));
pilote.SwitchTo().ParentFrame();