当我使用SendKeys()方法发送单引号时,Selenium会发送两个单引号。我在Chrome驱动程序中使用C#。
这是我的代码:
IWebDriver driver = new ChromeDriver();
var element = driver.FindElement(By.Id("uid"));
element.Clear();
element.SendKeys("admin'--");
测试网页上的文本框收到以下值:
管理员 '' -
如何向元素发送单引号?
答案 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);