次のコードはHtmlUnitDriver
、javascript を使用して有効にした を宣言し、以下のようなものnew HtmlUnitDriver(true)
を作成します。JavaScriptExecutor
WebDriver driver = new HtmlUnitDriver(true);
JavascriptExecutor js = (JavascriptExecutor) ((HtmlUnitDriver)driver);
属性を追加する必要がある html タグを見つけます
String xpathSrc = "//*[@id='formId']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[4]/td[2]/input[2]";
String xpathDest = "//*[@id='formId']/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr/td/table/tbody/tr[8]/td[2]/input[2]";
WebElement elemSrc = driver.findElement(By.xpath(xpathSrc));
setAttributeValue(elemSrc, "value", src.toUpperCase());
WebElement elemDest = driver.findElement(By.xpath(xpathDest));
setAttributeValue(elemDest, "value", dest.toUpperCase());
次に、次の関数を呼び出します
public void setAttributeValue(WebElement elem, String attr, String value){
String scriptSetAttrValue = "arguments[0].setAttribute(arguments[1],arguments[2]);";
js.executeScript(scriptSetAttrValue, elem, attr, value);
}
しかし、私の努力の結果、コードを実行することはできませんHtmlUnitDriver
が、同じコードはFirefoxDriver
orで効率的に実行されPhantomJsDriver
ます。私はその速度のために HtmlUnitDriver を使用する傾向がありますが、何も機能していないようです。