私はテーブルデータを持つページを持っています。すべてのデータが1ページに収まらないスクロール原因があります。私は最後の行が見えないと主張したい。私は、コードを持っている:Seleniumは、表示されていないときに表示が真であると主張しています(下にスクロールする必要があります)
var element = _driver.FindElement(By.Id("last-element"));
element.Displayed // !!! true
私はそれはおそらく正しく解析されています知っている、スタイルなどによって隠されていないが、確かにそれはユーザーには見えないのです。
私が作成している:
static bool IsVisible(IWebElement webElement)
{
if (webElement.Displayed == false)
{
return false;
}
RemoteWebElement remote = (RemoteWebElement) webElement;
return remote.Location.Y == remote.LocationOnScreenOnceScrolledIntoView.Y;
}
をしかし、それも見知らぬ人行動です。コードがLocationOnScreenOnceScrolledIntoViewに到達すると、ブラウザはその場所にスクロールします。
セレン3.3、ChromeDriver 2.28(FirefoxDriver 0.14に同じ)
私は何をしないのですか?
Iこの使用してJavaScriptのメソッドを実行します - あなたはそれをやって幸せになるでしょうか? –
@ marwaha.ksどうやって答えを書いてください。私はそれがバックエンドコードで行うことができることを望んだが、JSはまだ良いです。 –