gpt4 book ai didi

c# - 如何在发送 key 之前清除文本字段 selenium c#

转载 作者:行者123 更新时间:2023-12-03 19:39:50 28 4
gpt4 key购买 nike

我正在编写一个简单的 Selenium 测试,它发送一个不正确的字母字符串,然后提交并返回和错误。然后我想发送一串字母,但这次使用正确的字符串,所以它被接受了。

我在测试中面临的问题是第一组字符串已经在文本字段中,所以当我提交第二组时,它会将其添加到已经提交的第一个字符串中。

所以我基本上需要做的是发送第一个字母字符串然后需要清除文本字段然后发送第二个字母字符串。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Interactions;
using System.Threading;

namespace Exercise1
{
class RunPath
{

static void Main()
{

IWebDriver webDriver = new ChromeDriver();
webDriver.Navigate().GoToUrl("https://energy.gocompare.com/gas-electricity");
webDriver.Manage().Window.Maximize();


String title = webDriver.Title;

String expectedTitle = "Utilities from Go Compare";
if (title.Contains(expectedTitle))
{
Console.WriteLine("Tile is matching with expected value");
}
else
{
Console.WriteLine("Tile is matching with expected value");
}

webDriver.FindElement(By.XPath(".//button[@type = 'submit']")).Click();

webDriver.FindElement(By.XPath(".//input[@type = 'text']")).SendKeys("W30PN#");

webDriver.FindElement(By.XPath(".//button[@type = 'submit']")).Click();


// I need a piece of code here so that before i send the second string of keys the text field is clear

webDriver.FindElement(By.XPath(".//input[@type = 'text']")).SendKeys("W30PN");

webDriver.FindElement(By.XPath(".//button[@type = 'submit']")).Click();


// webDriver.Quit();

}


}

}

最佳答案

添加一行代码清除<input>字段如下:

webDriver.FindElement(By.XPath(".//input[@type = 'text']")).Clear();
webDriver.FindElement(By.XPath(".//input[@type = 'text']")).SendKeys("W30PN");

理想情况下,当您在调用 Navigate().GoToUrl() 后进入新页面时,你应该为 <input> 诱导 WebDriverWait元素是可点击的,您可以使用以下代码块:
IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath(".//input[@type='text']")));
element.Click();
element.Clear();
element.SendKeys("W30PN");

引用

您可以在以下位置找到一些相关的讨论:
  • clear() does not clear the textbox with selenium and python and firefox
  • InvalidElementStateException when attempting to clear text through Selenium
  • python selenium can't clear input field
  • 关于c# - 如何在发送 key 之前清除文本字段 selenium c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51283940/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com