同样是发生在我代码也是。在我的注册中,如 1.我有一个Address字段,用于从Google搜索中获取输入的地址,然后填写相应的字段,例如:Sub-urb,城市,邮政编码等。 2.有一个按钮附加一个文件(如从桌面浏览并选择任何图像或文档附加) 我得到错误“'钥匙'是OpenQA.Selenium.Keys
和'System.Windows.Forms.Keys' (CS0104)
之间的模糊参考然后我意识到这意味着在两个不同的命名空间中有两个不同的键类型。堂妹的地址选择,我的代码是:
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}");
命名空间添加了:
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);
这为我工作,希望以同样的方式太