ウェブサイトに "http://www.seleniumeasy.com/test/drag-drop-range-sliders-demo.html"というスライダがあります。デフォルトでは最初のスライダの値は10です。スライダを20の値に移動する機能を自動化しようとしていましたが、同じことを実行する。私は以下のコードを使用しましたWebdriverを使用してスライダでドラッグアンドドロップする
WebElement sliderOne = driver.findElement(By.xpath("//*[@class='range']/output"));
System.out.println(sliderOne.getAttribute("value"));
Actions action = new Actions(driver);
action.clickAndHold(sliderOne);
action.moveByOffset(20, 0).release().build().perform();
スライダーのスライダーとイメージについては、以下のHTMLコードを参照してください。親切にスライダーの自動化に役立ちます。
<div class="range">
<input type="range" name="range" min="1" max="100" value="10" onchange="range.value=value">
<output id="range">10</output>
</div>
![enter image description here](https://i.stack.imgur.com/HOhAN.png)
入力タグを与えて、 'action.moveByOffset(20、0).release()。build()。perform();'スライダーは61に移動します。どのようにしてスライダーが20に移動するようにオフセットを設定できますか? – Dinu
@Dinu「clickAndHold」は要素の途中で実行されます。 20に移動するには負のオフセットを与える必要があります(約-100)。 'sliderOne.getSize()。width'プロパティを使って一般的な公式を工夫することができます。 – Guy
以下のコードを使用して20に移動することができましたが、オフセット値の計算方法を説明したり、考えてください。 – Dinu