0

当我使用 SendKeys() 方法发送单引号时,Selenium 会发送两个单引号。我将 C# 与 Chrome 驱动程序一起使用。

这是我的代码:

IWebDriver driver = new ChromeDriver();
var element = driver.FindElement(By.Id("uid"));
element.Clear();
element.SendKeys("admin'--");

测试网页上的文本框接收以下值:

行政'' -

如何向元素发送单引号?

4

3 回答 3

0

您发送的代码示例对我有用。

我尝试使用 fireFoxDriver:

IWebDriver driver = new FirefoxDriver();
        driver.Navigate().GoToUrl("http://www.google.com");
        var element = driver.FindElement(By.Name("q"));
        element.Clear();
        element.SendKeys("one quote: ', double quote \"");

谷歌搜索框中的输出是:

单引号:',双引号"

尝试从最简单的例子开始,并插入一个引号:“'”

于 2013-04-20T09:33:51.073 回答
0

尝试用\转义字符串,还记得逐字使用@符号

element.SendKeys(@"admin\'--\'");
于 2013-04-20T08:31:42.713 回答
0

我也认为它与 ChromeDriver 有关,因为它适用于 Firefox。无论如何,我已经为此使用了 JavaScript,并且它有效。

WebElement element = driver.findElement(By.id("id"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].value="test'w";", element);
于 2014-10-08T09:24:15.397 回答