如何使用 C# 在 Selenium WebDriver 代码中指定 ENTER 按钮功能

How to specify ENTER button functionality in Selenium WebDriver code using C#

为了练习,我正在为irctc网站编写测试用例,我需要输入from站点,然后带有该代码的各个站点将显示为bootstrap 下拉菜单,现在我必须 select 其中之一,然后单击输入。不幸的是,没有用于 from 和 to 文本字段的 enter/submit 按钮,请帮助我继续这个测试用例

这是我的代码

IWebElement Fromstn = driver.FindElement(By.XPath("//*[@id='divMain']/div/app-main-page/div/div/div[1]/div[1]/div[1]/app-jp-input/div/form/div[2]/div[1]/div[1]/span/i"));
                 Thread.Sleep(2000);
                  Fromstn.SendKeys("MAQ");
                  Fromstn.Click();
 ```**OR**

动作生成器=新动作(驱动程序);动作 hover = builder.MoveToElement(driver.FindElement(By.XPath("//*[@id='origin']"))); hover.Build().执行(); Thread.Sleep(2000); hover.SendKeys("MAQ"); hover.Click();


来自 输入尝试以下 css :

p-autocomplete#origin input

To 输入试试下面的 css :

p-autocomplete#destination input

代码:

driver.FindElement(By.CssSelector("p-autocomplete#origin input")).SendKeys("MAQ");
driver.FindElement(By.CssSelector("p-autocomplete#destination input")).SendKeys("some to station");

如果您想使用键盘输入,那么可以将其与 sendkeys():

一起使用

像这样:

driver.FindElement(By.CssSelector("p-autocomplete#origin input")).SendKeys("MAQ" + Keys.RETURN);

看看这是否有效:-

driver.FindElement(By.XPath("//label[text()='From']/..//input")).SendKeys("MAQ");
//Add a wait time for the drop down value to load
Actions builder = new Actions(driver); 
Actions hover = builder.MoveToElement(driver.FindElement(By.XPath(".//ul[@id='pr_id_1_list']/li"))).Click().Perform();

您可以试试这个代码。对于调试,请查看快速监视中的 Fromstn 对象,看看它是否返回了正确的元素。为了进行调试,您还可以看到该元素仍处于 'inspect element' 的形式,并在您处于断点时使用给定的 Xpath 进行查找。

IWebElement Fromstn = driver.FindElement(By.XPath("//*[@id='divMain']/div/app-main-page/div/div/div[1]/div[1]/div[1]/app-jp-input/div/form/div[2]/div[1]/div[1]/span/i"));
Thread.Sleep(2000); //you can also try by increasing the value for testing say 10 seconds
Fromstn.Clear();
Fromstn.SendKeys("MAQ");
Fromstn.Click();