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)'中的第二個參數。如果您覺得這是一個正確的答案,請隨時註冊並/或將其標記爲正確的答案並帶有複選標記。乾杯! – mrfreester