入力を検索すると複数の表データが取得されます。 私たちはクリックする必要がある別のテーブル行に「テキストリンクとして表示」を表示しています。ウェブ要素が表示されるまでスクロールして必要な操作を実行する方法
IEで1つのマシンで正常に動作しているコードを書いています。同じスクリプトが異なるマシンで動作していないのは、モニターのサイズが異なるからです!
String rawTextXpath = "//table[@id='view518-table']/tbody/tr[1]/td[4]/div[1]/a[text()='Show as raw text']";
boolean exists = false;
exists = driver.findElements(By.xpath(rawTextXpath)).size() != 0;
if (exists == false) {
system.out.println("No Results found!");
}
int i = 1;
while (exists == true) {
try {
driver.findElement(By.xpath(rawTextXpath)).click();
Thread.sleep(3000);
}
catch (Exception e) {
}
String expandXpath = "//table[@id='view518-table']/tbody/tr[" + i + "]/td[1]/a";
driver.findElement(By.xpath(expandXpath)).click();
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("window.scrollBy(0,150)", "");
rawTextXpath = "//table[@id='view518-table']/tbody/tr[" + (i + 1)
+ "]/td[4]/div[1]/a[text()='Show as raw text']";
exists = driver.findElements(By.xpath(rawTextXpath)).size() != 0;
i++;
}
注:上記のスクリプトでは、私はそれが一台のマシンでIEと同じバージョンでは正常に動作し、それが別のブラウザで同じブラウザを動作していない
アクションが上 1クリックで150でWebページをスクロールしています各テーブル行にテキストリンクとして表示し、展開アイコンをクリックしてください
上記のコードは、同じIE11ブラウザで異なるシステムで正常に動作しません。
を試してみてください? –
別のテーブル行の最初の2つのリンクをクリックすることができますが、3番目のリンクの代わりにページ内の他の場所をクリックしています –