visual studio pruebas para instalar ejemplos automatizadas c# selenium webdriver

studio - Selenium Webdriver C#Sendkeys(Keys.Arrowdown)



selenium web c# (3)

Como indica el error, hay dos tipos de Keys diferentes en dos espacios de nombres diferentes.

Necesita calificar sin ambigüedad el tipo escribiendo OpenQA.Selenium.Keys .

Intento hacer una flecha usando Selenium Webdriver / C # compilar pero cuando intento compilar obtengo este error:

''Keys'' es una referencia ambigua entre ''OpenQA.Selenium.Keys'' y ''System.Windows.Forms.Keys'' (CS0104)

Mi código:

driver.FindElement(By.Id("ctl00_PlaceHolderMain_ctrlChangeBillingAddress_ctrlChangeBillingAddress_txtBillingAddress")).SendKeys(Keys.ArrowDown); driver.FindElement(By.Id("ctl00_PlaceHolderMain_ctrlChangeBillingAddress_ctrlChangeBillingAddress_txtBillingAddress")).SendKeys(Keys.Enter);


Puedo proporcionar dos realizaciones, pero la primera funciona solo localmente:

  1. Element.SendKeys(OpenQA.Selenium.Keys.ArrowUp);

  2. char c = ''/uE013''; // ASCII code ArrowUp

    Element.SendKeys(Convert.ToString(c));


Lo mismo estaba sucediendo con mi código también. Al igual que en mi registro de, 1. Tenía un campo Dirección que recoge la dirección ingresada de la búsqueda en Google y luego llena los campos en consecuencia, como: Suburbano, ciudad, código postal, etc. 2. Había un botón para adjuntar un archivo (como navegar desde el escritorio y seleccionar cualquier imagen o documento para adjuntar) Recibí el error "''Claves'' es una referencia ambigua entre OpenQA.Selenium.Keys y ''System.Windows.Forms.Keys'' (CS0104) Luego me di cuenta de que significa que hay dos tipos de claves diferentes en dos espacios de nombres diferentes. Coz para la selección de direcciones, mi código era:

driver.FindElement(By.XPath("//*[@id=''PostalAddress_Address'']")).SendKeys(Address); //Address to select from autofill and fill textboxes accordingly Thread.Sleep(500); driver.FindElement(By.XPath("//*[@id=''PostalAddress_Address'']")).SendKeys(Keys.ArrowDown); driver.FindElement(By.XPath("//*[@id=''PostalAddress_Address'']")).SendKeys(Keys.Enter);

y para Adjuntar archivo, el código era:

//Select and attach file from the computer driver.FindElement(By.XPath("//*[@id=''graduate-education'']/div[4]/label")).Click(); //Click Attach file button Thread.Sleep(500); //driver.FindElement(By.XPath("//*[@id=''graduate-education'']/div[4]/label")).SendKeys(AttachFile); SendKeys.SendWait(@"Complete File Path"); //Select the file from the location Thread.Sleep(500); SendKeys.SendWait(@"{Enter}");

Los espacios de nombre agregados fueron:

using OpenQA.Selenium; using System; using System.Threading; using System.Windows.Forms;

Debido a que - Keys type no reconocía de donde realmente pertenece, así que tuve que cambiar los campos del código de dirección y usar OpenQA.Selenium.keys.ArrowDown como se muestra a continuación:

driver.FindElement(By.XPath("//*[@id=''PostalAddress_Address'']")).SendKeys(Address); //Address to select from autofill and fill textboxes accordingly Thread.Sleep(500); driver.FindElement(By.XPath("//*[@id=''PostalAddress_Address'']")).SendKeys(OpenQA.Selenium.Keys.ArrowDown); driver.FindElement(By.XPath("//*[@id=''PostalAddress_Address'']")).SendKeys(OpenQA.Selenium.Keys.Enter);

Esto funcionó para mí, espero lo mismo para ti también