C # Selenium: Любой другой способ получить значение TEXT IWebElement быстрее? - PullRequest
0 голосов
/ 17 ноября 2018

Я получаю 500+ элементов на FindElements(By.Xpath).

Но когда я зацикливаю их, чтобы получить текстовое значение, это занимает 30+ секунд.

Это очень медленно и недопустимо.

Я использую этот код:

var obj = driver.FindElements(By.Xpath...); // fast enough for 500 elements
int count = obj.Count;
for (int i = 0; i < count; i++)
{
    string a = obj.ElementAt(i).Text; // long time, approx 0.05 sec
    Debug.print(a); // long time, approx 0.05 sec
}
// total takes 30secs appox. just for printing text values of 500 elements.

Я пробовал с By.CssSelector, но разница не большая.

И это пример строки xpath, который я использую:

"//wpsel-app/div[@class='wpsel-app-wrapper']/wpsel-sport/div/div/div/section/div/div[@class='wpsel-eventBloc']/div/wpsel-event-main/div/wpsel-event-main-normal/a[@class='wpsel-bloc']/div[@class='wpsel-blocRight']/wpsel-market-offer-event/div[@class='buttonGroup']/div[@class='buttonLine u-ovh']/div[@class='buttonLine-item']/button[@class='outcomeButton']/span[@class='outcomeButton-data']"

Какое-то длинное, и я не думаю, что эта проблема связана с длинной строкой xpath.

Есть ли уловка для этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...