Я пытаюсь автоматизировать www.amazon.co.uk, используя селеновый веб-драйвер java. Я хотел бы выбрать продукты из Амазонки для добавления в корзину. - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь автоматизировать www.amazon.co.uk с помощью веб-драйвера selenium java. Я хотел бы выбрать продукты в Амазонке, чтобы добавить в корзину. Мой код запускается успешно иногда, а иногда не удается. Не удается, когда я пытаюсь нажать на ссылку продукта.

Error msg: No such element found.

Я пытался использовать другой Xpath. Но не повезло. Это повторяющийся вопрос в потоке стека, но я попытался с помощью решения, предоставленного в вопросе, однако мне не удалось.

public class Amazon {

    public static void main(String[] args) throws InterruptedException {

        // TODO Auto-generated method stub
                System.setProperty("webdriver.chrome.driver","//Users//amitamargoor//Downloads//chromedriver");
                WebDriver driver = new ChromeDriver();
                driver.get("https://www.amazon.co.uk/");
                driver.manage().window().maximize();
                WebElement move =driver.findElement(By.cssSelector("[id='twotabsearchtextbox']"));

                Actions a=new Actions(driver);
                a.moveToElement(driver.findElement(By.id("nav-link-accountList"))).build().perform();
                a.moveToElement(move).click().keyDown(Keys.SHIFT).sendKeys("nike trainers for men").build().perform();
                driver.findElement(By.xpath("//*[@id=\"twotabsearchtextbox\"]")).sendKeys(Keys.ENTER);
                driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
                   //driver.findElement(By.xpath("//span[contains(text(), \"Men's Downshifter 9 Training Shoes\")]")).click();

                driver.findElement(By.xpath("//h2[@class='a-size-mini a-spacing-none a-color-base s-line-clamp-2' and contains(text(), \"Men's Downshifter 9 Training Shoes\\\")]"));
...