如何使用 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();
为了练习,我正在为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();