当我使用 SendKeys() 方法发送单引号时,Selenium 会发送两个单引号。我将 C# 与 Chrome 驱动程序一起使用。
这是我的代码:
IWebDriver driver = new ChromeDriver();
var element = driver.FindElement(By.Id("uid"));
element.Clear();
element.SendKeys("admin'--");
测试网页上的文本框接收以下值:
行政'' -
如何向元素发送单引号?
您发送的代码示例对我有用。
我尝试使用 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 \"");
谷歌搜索框中的输出是:
单引号:',双引号"
尝试从最简单的例子开始,并插入一个引号:“'”
尝试用\转义字符串,还记得逐字使用@符号
element.SendKeys(@"admin\'--\'");
我也认为它与 ChromeDriver 有关,因为它适用于 Firefox。无论如何,我已经为此使用了 JavaScript,并且它有效。
WebElement element = driver.findElement(By.id("id"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].value="test'w";", element);