Javaを使用してセレンスクリプトを作成しています。Seleniumのポイント(X、Y)で要素をクリックできない
私のシナリオでは、選択ボタンとOKボタンがあります。選択ボタンが有効になっていて、最初にページを読み込んだときに[OK]ボタンが無効になっています。
選択ボタンをクリックすると、ポップアップウィンドウが表示されます。次に、ポップアップウィンドウの日付ピッカーから日付を選択します。日付を選択した後、ポップアップウィンドウの[確定]ボタンをクリックします。確認ボタンをクリックすると、ポップアップウィンドウが閉じ、OKボタンが有効になります。
これは私のテストシナリオです。しかし、これを実行すると、OKボタンをクリックした時点でテストが失敗します。
私は多くの研究を行い、自分のコードにスクロールを追加しました。もう一度私のテストは別のポイントで失敗します(日付ピッカーから日付を選択できませんでしたが、これがどうなっているか想像できません)。
ここは私のコードです。
// Click Select button
driver.findElement(By.xpath("//tr[@id='0']/td[2]/a")).click();
System.out.println("User Clicked Select button");
// Select Days
driver.findElement(By.xpath("//div[@id='myModal0']/div/div/div[2]/div/div[2]/div/div/input")).click();
driver.findElement(By.xpath("//div[@id='ui-datepicker-div']/table/tbody/tr[5]/td[7]/a")).click();
System.out.println("User Selected the days the service is offered");
// Click Confirm Button
driver.findElement(By.xpath("//div[@id='myModal0']/div/div/div[2]/div/div[6]/button")).click();
System.out.println("User clicked Confirm Button");
// Page Scroll
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("window.scrollBy(0,250)", "");
// Click OK Button
driver.findElement(By.xpath("/html/body/div[1]/div[4]/div/div[2]/table/tbody/tr[1]/td[6]/button")).click();
System.out.println("User Clicked OK Button");
ここに私が持っているエラーメッセージがあります。スレッド内
例外が "メイン" org.openqa.selenium.WebDriverException:要素は、点(1460.7666015625、159.03334045410156)でのクリック可能ではありません。他の要素はクリックを受け取ります: コマンドの継続時間またはタイムアウト:89ミリ秒 ビルド情報:バージョン: '2.53.0'、リビジョン: '35ae25b'、時間: '2016-03-15 17:00:58' システム情報:ホスト: 'ET_LAHIRU'、IP: '192.168.1.4'、os.name: 'Windows 8.1'、os.arch: 'amd64'、os.version: '6.3'、java.version: '1.8.0_25' ドライバ情報:org.openqa.selenium.firefox.FirefoxDriver 機能[{applicationCacheEnabled = true、rotateatable = false、handlesAlerts = true、databaseEnabled = true、version = 45.0.1、platform = WINDOWS、nativeEvents = false、acceptSslCerts = true、 webStorageEnabled = TRUE、= TRUE、browserName = Firefoxの、takesScreenshot = trueを、javascriptEnabled =真、cssSelectorsEnabled = TRUE}] セッションID locationContextEnabled:sun.reflect.NativeConstructorAccessorImplでfea6e350-638c-4cb6-8136-79010aec01a4 組織でsun.reflect.NativeConstructorAccessorImpl.newInstance(不明なソース)sun.reflect.DelegatingConstructorAccessorImpl.newInstanceで (不明なソース)java.lang.reflect.Constructor.newInstanceで (不明なソース) で.newInstance0(ネイティブメソッド) .openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) at org.openqa.selenium.remote.RemoteWebDriver.execute selrcdemoで(RemoteWebDriver.java:678)org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)で org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85)で .Activities.activities(Activities.java:7 3)selrcdemo.ayubomain.mainで を(ayubomain.java:69)
は、誰かが私にこのための解決策を教えてください。
ありがとうございます。 :)
あなたはどのウェブサイトをテストしていますか?それは公開ですか? – Akbar
これらの 'XPaths'は酷いことです:)絶対' XPath'を使うべきではありません!これはあなたの現在の問題を解決しませんが、将来の問題からあなたを守ります:) – Andersson
@Akbar、申し訳ありませんが公開されていません –