![](/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.