![](/img/trans.png)
[英]How to click a specific 'Add to cart' button with respect to a product from product list using Selenium and Java
[英]Select second product from product list in amazon using Selenium -JAVA
我正在嘗試使用 selenium 刮亞馬遜。
我已經編寫了一個腳本,但我無法 select 列表中的產品。 每次使用selenium檢索到的list長度都不一樣,是不是xpath有問題?
任何幫助,將不勝感激。
腳步:
到目前為止,我的嘗試如下:
public class AmazonSearch {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "E:\\geckodriver-v0.29.0-win64\\chromedriver.exe");
ChromeDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.amazon.com");
driver.findElement(By.id("twotabsearchtextbox")).click();
driver.findElement(By.id("twotabsearchtextbox")).clear();
System.out.println("Hello world!");
driver.findElement(By.id("twotabsearchtextbox")).sendKeys("charger");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.id("nav-search-bar-form")).submit();
driver.findElement(By.id("a-autoid-0-announce")).click();
System.out.println("Hello world!");
driver.findElement(By.id("s-result-sort-select_2")).click();
List<WebElement> resultsList = driver.findElements(By.xpath(".//span[@class='a-size-medium a-color-base a-text-normal']"));
int size = resultsList.size();
System.out.println("Size of list = " + size);
resultsList.get(2).click();
}
有時WebElement
在resultsList
中的插入是在加載頁面中的所有充電器項目之前完成的,有時是精確的。 首先確保頁面已加載,然后插入項目。 您可以使用“顯式等待”。 嘗試以下操作:
WebElement we = new WebDriverWait(driver, 25)
.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[text()='Related searches']")));
List<WebElement> resultsList = driver.findElements(By.xpath(".//span[@class='a-size-medium a-color-base a-text-normal']"));
公共 class AmazonSearch {
public static void main(String[] args)
{
try
{
System.setProperty("webdriver.chrome.driver", "E:\\geckodriver-v0.29.0-win64\\chromedriver.exe");
ChromeDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.amazon.com");
driver.findElement(By.id("twotabsearchtextbox")).click();
driver.findElement(By.id("twotabsearchtextbox")).clear();
System.out.println("Hello world!");
driver.findElement(By.id("twotabsearchtextbox")).sendKeys("charger");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.findElement(By.id("nav-search-bar-form")).submit();
driver.findElement(By.id("a-autoid-0-announce")).click();
System.out.println("Hello world!");
driver.findElement(By.id("s-result-sort-select_2")).click();
WebElement we = new WebDriverWait(driver, 60).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[text()='Related searches']")));
List<WebElement> resultsList = driver.findElements(By.xpath(".//span[@class='a-size-medium a-color-base a-text-normal']"));
int size = resultsList.size();
System.out.println("Size of list = " + size);
resultsList.get(2).click();
}catch(TimeoutException e)
{
System.out.println(e);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.