Selenium webdriver 使用JavaScript的seleniumwebdriver

Selenium webdriver 使用JavaScript的seleniumwebdriver,selenium-webdriver,Selenium Webdriver,我是SeleniumWebDriver的新手,正在尝试将在线购物网站“amazon.co.uk”自动化。我的目的是导航到网站的一个特定页面,检索卖家名称、各自的URL,并将最终输出写入Excel表格。我可以在控制台中打印上述所有详细信息,但无法将它们写入Excel工作表 下面是我想出的一段代码: package Selenium.src.com.amazon.automation; import java.io.IOException; import java.util.List; import

我是SeleniumWebDriver的新手,正在尝试将在线购物网站“amazon.co.uk”自动化。我的目的是导航到网站的一个特定页面,检索卖家名称、各自的URL,并将最终输出写入Excel表格。我可以在控制台中打印上述所有详细信息,但无法将它们写入Excel工作表

下面是我想出的一段代码:

package Selenium.src.com.amazon.automation;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;

public class AmazonTest {

    public static void main(String[] args) throws InterruptedException, IOException {
        WebDriver driver = new FirefoxDriver();
        try {
            driver.get("https://www.amazon.co.uk");
            Thread.sleep(1000);;
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(150, TimeUnit.SECONDS);
            String PageTitle = driver.getTitle();
            System.out.println("Page Title is :" + PageTitle );
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Driver not reachable");
        }
        WebElement wb = driver.findElement(By.xpath("//span[text()='Shop by']"));
        WebElement wb1 = driver.findElement(By.xpath("//span[text()='Electronics  & Computers']"));
        Actions act = new Actions(driver);
        act.moveToElement(wb).build().perform();
        act.moveToElement(wb1).build().perform();
        driver.findElement(By.xpath("//span[text()='Headphones']")).click();
        Thread.sleep(2000);
        // To wait until the next page loads
        driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
        JavascriptExecutor jse = (JavascriptExecutor)driver;
        jse.executeScript("scroll(0, 1000);");
        driver.findElement(By.xpath("(//span[text()='See more'])[2]")).click();
        List<WebElement> topSellers = driver.findElements(By.xpath("//div[@id='refinementList']//a"));
        //  int sellersCount = topSellers.size();
        System.out.println("The Number Of Top Sellers is :" + topSellers.size());

        for(int i=0;i<topSellers.size();i++)
        {
            //To print the list of Top Sellers and their number of products
            System.out.println(topSellers.get(i).getText());
            //To print the link of individual seller
            System.out.println(topSellers.get(i).getAttribute("href"));
            /*To get the page title for individual seller
            String PageTitle = driver.getTitle();
            System.out.println("Page Tile for this seller is :" +PageTitle);
            topSellers.get(i).click();
            Thread.sleep(2000);
            driver.navigate().back();
            WebDriverWait wait = new WebDriverWait(driver,20);
            wait.until(ExpectedConditions.titleIs("Amazon.co.uk: see all sellers"));
            driver.navigate().refresh();*/
        }
        driver.close();
    }
}
package Selenium.src.com.amazon.automation;
导入java.io.IOException;
导入java.util.List;
导入java.util.concurrent.TimeUnit;
导入org.openqa.selenium.By;
导入org.openqa.selenium.JavascriptExecutor;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.WebElement;
导入org.openqa.selenium.firefox.FirefoxDriver;
导入org.openqa.selenium.interactions.Actions;
公共级亚马逊测试{
公共静态void main(字符串[]args)引发InterruptedException、IOException{
WebDriver=newfirefoxdriver();
试一试{
驱动程序。获取(“https://www.amazon.co.uk");
线程。睡眠(1000);;
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(150,TimeUnit.SECONDS);
字符串PageTitle=driver.getTitle();
System.out.println(“页面标题为:“+PageTitle”);
}捕获(例外e){
e、 printStackTrace();
System.out.println(“无法访问驱动程序”);
}
WebElement wb=driver.findElement(By.xpath(//span[text()='Shop By']);
WebElement wb1=driver.findElement(By.xpath(//span[text()='Electronics&Computers']);
动作动作=新动作(驱动);
act.moveToElement(wb.build().perform();
act.moveToElement(wb1.build().perform();
findElement(By.xpath(“//span[text()='heedphones']”)。单击();
《睡眠》(2000年);
//等待下一页加载
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
JavascriptExecutor jse=(JavascriptExecutor)驱动程序;
executeScript(“滚动(0,1000);”;
findElement(By.xpath(“(//span[text()='See more'])[2]”);
List topSellers=driver.findElements(By.xpath(“//div[@id='refinementList']//a”);
//int sellersCount=topSellers.size();
System.out.println(“畅销书的数量是:“+topSellers.size()”);

对于(int i=0;我能请你提供以下更多信息吗:1.你到底想在Excel表格中写入哪些信息?2.网站上的信息是如何描述的?表格格式?下拉列表?模式下拉列表?3.你能提供一些快照吗?4.同时提供HTML DOM。你能系统化你想写入的内容吗ite到Excel?我看不到任何您实际尝试写入Excel的代码。我建议您写入CSV文件,然后在Excel中打开它。这将为您节省大量时间。