1
以下のコードでは、サイズを18と見込んでいますが、0が表示されます。理由を特定できませんでした。Selenium Webdriver:正しいLi要素を表示していません
私はAmazonに本を探していて、最終的には書籍のタイトルを配列に保存したいと考えています。ありがとう!
@Test
public void searchTestOne(){
System.setProperty("webdriver.gecko.driver", "C:\\geckodriver\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.amazon.in");
driver.manage().window().maximize();
driver.findElement(By.id("twotabsearchtextbox")).sendKeys("Books");
driver.findElement(By.className("nav-input")).click();
List<WebElement> result = driver.findElements(By.xpath(".//*[@id='atfResults']/ul[@id='s-results-list-atf']/li"));
System.out.println(result.size());
ありがとうございました!出来た 。 – vijaya
条件が検索結果= 1であるため、すべての要素がロードされるまで待ち状態になることはありません。待ち時間を5秒に変更してから、すべての要素をロードしました。 .. – vijaya
@vijaya興味深い。私は、すべての結果が同じ時間にロードされると思っていたでしょう、良いキャッチ:)あなたが設定したタイムアウトは、必ずしもそれを待つわけではありませんが、あなたが設定した条件、この場合は 'ExpectedConditions.numberOfElementsTo ...'となります。より多くの要素がロードされるのを待つ場合は、 'numberOfElementsToBeMoreThan(elementsBy、amountOfElements)'の2番目のパラメータとしてロードします。これが正解であると思われる場合は、チェックマークを付けてupvoteおよび/または正解として自由にマークしてください。乾杯! – mrfreester