我試圖獲得Amazon上任何產品的評分文本,但我無法編寫正確的代碼。我不明白我在這裏做錯了什麼。在這裏它甚至無法找到元素。 另外我不認爲xpath是錯誤的,因爲我檢查了Firepath。Java中的Selenium:無法定位亞馬遜上的元素
下面是代碼:
public static void main(String args[])
{
System.setProperty("webdriver.gecko.driver", "D:\\Eclipse and workspace\\eclipse\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.amazon.in/");
WebElement elem = driver.findElement(By.id("twotabsearchtextbox"));
elem.sendKeys("Camera DSLR");
driver.findElement(By.className("nav-input")).click();
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='result_0']/div/div/div/div[2]/div[3]/div[2]/div[1]/span/span/a/i[1]/span")));
WebElement elem2 = driver.findElement(By.xpath(".//*[@id='result_0']/div/div/div/div[2]/div[3]/div[2]/div[1]/span/span/a/i[1]/span"));
elem2.getText();
}
請幫助我。
有2個元素,類名爲「nav-input」,一個按鈕和一個輸入文本。到哪個控制'driver.findElement(By.className(「nav-input」))。click();'這個工作嗎? –
是的,只有最後一個沒有。最後一個是獲得產品的評級。 –
它確實點擊並打開下一頁。 –