3

Selenium webdriver 2.33.0 を使用していますが、データ内に次の文字を含むデータを送信する必要があります("(", "#")

sendkeys を使用してこれらの文字を送信しようとしたとき

"WebElement dat = driver.findElement(By.xpath("xpathexpression);
dat.sendkeys("select * from (?s, ?p, ?o)");

select * from ?s, ?p, ?o) 左括弧がないため、次のデータがテキストエリアに表示されます。私はセレンアクションクラスの送信キーとロボットの送信キーも使用しました。

問題を解決できません。誰かがこれについて私を助けることができますか?

4

4 に答える 4

1

アクション クラスを使用すると、問題が解決されます。

WebElement dat = driver.findElement(By.xpath("xpathexpression"); 
dat.click(); 
Actions data = new Actions(driver);
data.sendKeys(Keys.chord(Keys.CONTROL,"a"),Keys.DELETE);
data.perform();
query = query.replaceAll("\\(", Keys.chord(Keys.SHIFT,"9")); 
query = query.replaceAll("\\#", Keys.chord(Keys.SHIFT,"3")); 
query = query.replaceAll("\\-", Keys.SUBTRACT.toString()); 
query = query.replaceAll("\\}", Keys.chord(Keys.SHIFT,"]")); 
data.sendKeys(query); 
data.perform();
于 2014-01-30T09:22:44.230 に答える
0

ここで同じ問題が発生しました。2.40.0私のワークアランドはクリップボードを使用していましたが、きれいではありませんでしたが、とにかくテストシステムはクリップボードをあまり使用していません...

public static void setTextByClipboard(WebElement element, String text) {
    StringSelection selection = new StringSelection(text);
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selection, selection);
    element.sendKeys(Keys.chord(Keys.CONTROL, "v"));
}
于 2014-03-11T18:35:40.543 に答える