所以我已经足够在facebook上找到文本框,并向一个人发送消息。现在我想看看我是否可以创建一个循环来一次发送多个消息。我目前的问题是我有一个for循环:
for (int i = 0; i < 20; i++) {
messageBox.sendKeys("My friend's name " + i + " ");
messageBox.sendKeys(Keys.ENTER);
}
但是,我只能这样做一次。所以它将打印“我朋友的名字0”,然后停止。 Java说:元素没有附加到页面文档。
我假设因为我发送了消息,Inspect Element的某些部分已经改变了?有办法解决这个问题吗?
答案 0 :(得分:2)
从Excel表格中获取朋友的姓名
制作一个从excel文件中获取数据的方法: -
public static void fn_FetchExcelData(String FilePath,String ColumnName) throws IOException{
String WbookPath=FilePath;
Workbook WBookObj=fn_GetWorkbook(FilePath);
Sheet SheetObj=WBookObj.getSheetAt(0);
Row FstRowObj=SheetObj.getRow(0);
int cellCount=FstRowObj.getLastCellNum();
int columnNumber=0;
ArrayList<String> AL=new ArrayList<String>();
for(int j=0; j<cellCount;j++){
if(FstRowObj.getCell(j, Row.CREATE_NULL_AS_BLANK).getStringCellValue().trim().equalsIgnoreCase(ColumnName)){
columnNumber=j;
break;
}
}
int rowcnt=SheetObj.getLastRowNum();
for(int i=1;i<=rowcnt;i++){
Cell fstcellObj=SheetObj.getRow(i).getCell(columnNumber, Row.CREATE_NULL_AS_BLANK);
String ColumnVal=fstcellObj.getStringCellValue();
AL.add(ColumnVal);
call excel method & use it
fn_FetchExcelData("Your excel data path");
int j;
int size = AL.size();
for(j=0;j<size;j++)
{
System.out.println(AL.get(j));
messageBox.sendKeys(AL.get(j));
答案 1 :(得分:0)
没关系我弄清楚了,我刚刚添加了
WebElement messageBox = driver.findElement(By.xpath("//textarea[@class='uiTextareaAutogrow _552m']"));
wait.until(ExpectedConditions.visibilityOf(messageBox));
再次循环,它的工作原理。然而它非常慢。