如何使用Selenium将单引号发送到输入元素?

时间:2013-04-20 08:30:16

标签: c# selenium

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

这是我的代码:

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

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

管理员 '' -

如何向元素发送单引号?

3 个答案:

答案 0 :(得分:0)

尝试用\来转义字符串,还记得使用verbatim @ symbol

element.SendKeys(@"admin\'--\'");

答案 1 :(得分: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 \"");

,谷歌搜索框中的输出是:

一句话:',双引号“

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

答案 2 :(得分:0)

我还认为它与ChromeDriver有关,因为它适用于Firefox。无论如何,我已经使用了JavaScript,它起作用了。

WebElement element = driver.findElement(By.id("id"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].value="test'w";", element);