2016-04-03 18 views
0

Ich versuche, auf ein Element zu klicken, habe aber einige Probleme. Zuerst gibt es ein Popup-Fenster, auf das ich umschalte, das scheint in Ordnung zu sein.Element mit Xpath nicht gefunden - Selen

foreach (string handle in _webdriver.WindowHandles) 
{ 
    if (!handle.Equals(parentHandle)) 
    { 
     _webdriver.SwitchTo().Window(handle); 
    } 
} 

Dann versuche ich, ein Element in diesem Pop durch diesen Code bis klicken:

var myElement = wait.Until(x => x.FindElement(By.XPath("//td[@id='firstname_d']/div[@class='ms-crm-Input-Container']/input[@id='firstname']"))); 
myElement.SendKeys("foo"); 

Ich erhalte eine Fehlermeldung:

Unable to find element with Xpath

Die HTML ist als folgen:

<tr valign="top"> 
    <td class="ms-crm-FieldLabel-LeftAlign FormSection_CellPadding ms-crm-Field-Recommended" id="firstname_c"> 
    <td id="firstname_d" style="overflow: hidden;" formxmlcolspan="1"> 
    <div class="ms-crm-Input-Container focus" id="firstname_container"> 
     <input tabindex="1010" class="ms-crm-Input ms-crm-Text" id="firstname" style="ime-mode: active;" type="text" maxlength="50" attrformat="text" attrpriv="7" attrname="firstname" req="1" value=""/> 

Was mache ich w Rong?

Antwort

0

Sie können versuchen, mit der ID

driver.FindElement(By.Id("firstname")).SendKeys("foo"); 

Oder mit enthält

driver.FindElement(By.XPath("//input[contains(@id, 'firstname')]")).SendKeys("foo"); 

Edit

Sie zum nach dem Fensterheberschalter wechseln

foreach (string handle in _webdriver.WindowHandles) 
{ 
    if (!handle.Equals(parentHandle)) 
    { 
     _webdriver.SwitchTo().Window(handle); 
    } 
} 

_webdriver.SwitchTo().Frame("foo"); 

_webdriver.FindElement(By.Id("firstname")).SendKeys("foo"); 
+0

Leider beide arbeiten nicht .it fühlt sich an wie ich auf die neue Schalt nicht Erfolg haben Fenster nach allem –

+0

@YanivEliav Sind Sie sicher, dass Sie Fenster wechseln müssen, versuchen Sie es ohne. – Guy

+0

Ja, ich habe es ohne das Umschalten versucht (BTW, ich benutze Dynamic CRM Web-Software). Ich bin auf einen Knopf klicken Ich glaube, ich kann das neue Fenster nicht fokussieren. –

0

u kann schreiben folo Wing-Code und versuchen Sie es Setzen Sie st = driver.getWindowHandles(); Iterator it = st.iterator(); String Eltern = t.next();
Zeichenfolge child = it.next(); driver.switchTo() .frame (untergeordnet); WebElement ele = driver.findElement (By.id ("id =" firstname_container ")); ele.sendKeys (" foo

Verwandte Themen