我試圖找出沒有。使用
//*[@id='past-orders-tab']/div[contains(@class,'physical')]
driver.findelements(by.xpath())返回零
但它是使用.size()
返回零在下面的圖片訂單 (在列表[WebElement]存儲)。當我挑選使用findelement()
一個順序,它工作正常。這裏是頁面源代碼
如何糾正它?
我試圖找出沒有。使用
//*[@id='past-orders-tab']/div[contains(@class,'physical')]
driver.findelements(by.xpath())返回零
但它是使用.size()
返回零在下面的圖片訂單 (在列表[WebElement]存儲)。當我挑選使用findelement()
一個順序,它工作正常。這裏是頁面源代碼
如何糾正它?
你應該嘗試使用WebDriverWait
等到有存在於網頁如下至少一個元素: -
WebDriverWait wait = new WebDriverWait(driver, 10);
List<WebElement> ord = wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.cssSelector("#past-orders-tab > div.physical")));
感謝您的回答,但有一個問題,路徑可以像您一樣轉換爲cssSelector。這是一個flipkart網站 – bot13
我很抱歉,但我不明白你在問什麼?你想要任何方法顯式地將xpath轉換爲cssSelector? –
@ bot13如果我是對的,沒有任何方法將xpath轉換爲cssSelector,您需要[學習如何從一些教程中創建一個cssSelector](http://www.w3schools.com/cssref/css_selectors.asp)並嘗試與你自己。謝謝 –
By.xpath(「past_orderbox」)---這個XPath沒有意義。 past_orderbox是一個包含你之前寫過的xpath的變量。如果這樣刪除雙引號。 – Grasshopper
我應該從.properties文件讀取。謝謝@Grasshopper – bot13