2015-05-15 5 views
0

Я новичок как для C#, так и для selenium.Как добавить IList <IWebElement> в массивы Selenium

Это пример кода, он работает нормально, я знаю, что это не стандартный способ кодирования, но я не знаю, что такое стандартный код для этого экземпляра.

Мне нужно извлечь 5000-10000 элементов из каждой строки, так что для этого есть самый быстрый и стандартный код, я думаю, что мое решение будет слишком медленным.

IList<IWebElement> ARNum = driver.FindElement(By.XPath("sumXpath1")); 
IList<IWebElement> MPNum = driver.FindElement(By.XPath("sumXpath2")); 
IList<IWebElement> MGNum = driver.FindElement(By.XPath("sumXpath3")); 

int RowARNum=1; 
foreach(IWebElement artNum in ARNum) {//for First Column 
    RowARNum++; 
    XLWorkSheet.Cells(RowARNum, 1) = artNum.Text; 
} 

int RowMPNum =1; 
foreach(IWebElement mpNum in MPNum){ //for Second Column 
    RowMPNum++; 
    XLWorkSheet.Cells(RowMPNum, 1) = mpNum.Text; 
} 

int RowMGNum =1; 
foreach(IWebElement mgNum in MGNum){ //for Third Column 
    RowMGNum++; 
    XLWorkSheet.Cells(RowMGNum, 1) = mgNum.Text; 
} 
+0

Что это делает XLWorkSheet.Cells (RowMGNum, 1)? Добавление строки в рабочий лист Excel? –

ответ

0

Попробуйте это, он должен надеяться ускорить обработку.

Возможно, попробуйте добавить класс StopWatch() вовремя вашей реализации по сравнению с моей?

 IList<IWebElement> ARNum = driver.FindElements(By.XPath("sumXpath1")); 
     IList<IWebElement> MPNum = driver.FindElements(By.XPath("sumXpath2")); 
     IList<IWebElement> MGNum = driver.FindElements(By.XPath("sumXpath3")); 

     Parallel.For(0, ARNum.Count(), i => 
     { 
      XLWorkSheet.Cells(i, 1) = ARNum[i].Text; 
     }); 

     Parallel.For(0, MPNum.Count(), i => 
     { 
      XLWorkSheet.Cells(i, 1) = MPNum[i].Text; 
     }); 

     Parallel.For(0, MGNum.Count(), i => 
     { 
      XLWorkSheet.Cells(i, 1) = MGNum[i].Text; 
     }); 
+0

S для добавления строк в excel @Jamie Rees ..... я попробую это и позволю u knw, если у вас есть какие-либо новые предложения pls, позвольте мне завязать, для написания excel на высокой скорости ... спасибо за ответ ур. –

+0

Привет, я, ожидаю ответа ур ... –

+0

Вы попробовали мое предложение? –

0

пожалуйста CHK это при использовании ур кода И получают эту ошибку, System.Runtime.InteropServices.COMException был необработанным кодом пользователя HResult = -2146827284 Сообщение = Исключение из HRESULT: 0x800A03EC Источника =» " ErrorCode = -2146827284 StackTrace: в System.RuntimeType.ForwardCallToInvokeMember (String MemberName, BindingFlags флагов, целевой объект, Int32 [] aWrapperTypes, MessageData & msgData) в Microsoft.Office.Interop.Excel.Range.set__Default (Объект RowIndex, Objec t ColumnIndex, значение объекта) на CDP_Win.Form1. <> c__DisplayClass8.b__2 (Int32 i) в e: \ MyProjects \ CDP_Win - Копирование \ CDP_Win \ Form1.cs: строка 115 в System.Threading.Tasks.Parallel. <> c__DisplayClassf`1.b__c() InnerException: @Jamie Rees, @Mark Rowlands

 Смежные вопросы

  • Нет связанных вопросов^_^