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:
Element.SendKeys(OpenQA.Selenium.Keys.ArrowUp);
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