То же самое происходит с моим код тоже. Как и в моей регистрации от, 1. У меня были поля «Адрес», которые выбирают введенный адрес из поиска Google, а затем заполняют поля соответственно: Sub-urb, city, post code и т. Д. 2. Появилась кнопка прикреплять файл (например, просматривать с рабочего стола и выбирать любое изображение или документ для присоединения) Я получил ошибку «Ключи» - это двусмысленная ссылка между OpenQA.Selenium.Keys
и 'System.Windows.Forms.Keys' (CS0104)
Тогда я понял, что это означает, что существуют два разных типа ключей в двух разных пространствах имен . Coz для выбора адреса, мой код был:
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);
и Приложить файл код был:
//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}");
Namespaces были добавлены:
using OpenQA.Selenium; using System; using System.Threading; using System.Windows.Forms;
Из - Ключи типа не признающие, откуда он на самом деле принадлежат, поэтому мне пришлось изменить код адрес полей и использовать OpenQA.Selenium.keys.ArrowDown, как ниже:
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);
Это работает для меня, надеюсь, что то же самое для вас слишком