我希望用Selenium(Python)自动化Chrome。目标是使用现有的CSV或Excel文件填写数千个在线表单。
源文件将包含数千行和大约40列,标识要在这些自定义字段中输入的自定义字段或值的元素。
我目前正在使用带有Java扫描器的While循环,在Selenium with Java中使用这样的解决方案。该项目使用一行中的每一列填写Web表单,单击提交,然后转到其中一列中的URL移动到下一行。一旦代码移过CSV的每一行,循环就完成了。
以下是使用Java中的Scanner实用程序看起来的代码:
//LOCATE MASTER CSV FILE
String fileName = "CSV PATH.csv";
File file = new File(fileName);
Scanner inputStream = null;
int docSize=0;
//DETERMINE SIZE OF CSV
inputStream = new Scanner(file);
while( inputStream.hasNext() ) {
docSize++;
inputStream.nextLine();
}
//INITIALIZE CHROME AUTOMATION
setUpDriver();
//LOGIN TO WEBSITE
login();
//CREATE A SCANNER OBJECT TO READ CSV
inputStream = new Scanner(file);
int count = 0;
//SENDS CHROME TO URL
driver.get("URL ADDRESS");
sleep(3);
int counter = 1;
//MAIN LOOP:
for(int i=0; i<docSize; i++){
//PULLS NEXT ROW OF CSV
String next = inputStream.nextLine();
list.add(next);
count++;
//BREAKING APART THE CSV BY COLUMMNS (',')
values = next.split(",");
for(int j=0; j<values.length; j++)
{
//System.out.println(j + " " + values[j]);
}
//SEND CHROME TO URL
try {
sleep(0);
String newURL = values[1].toString();
driver.get(newURL);
sleep(3);
} catch (ElementNotVisibleException | NoSuchElementException e1) {
System.out.println("Booking # " + count + " failed.");
continue;
}
可以使用Python为Selenium编写吗?我宁愿远离Java。
谢谢!