我通过FindElements(By.Xpath)
获得了500多个元素。
但是当我循环它们以获取文本值时,需要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字符串。
这个问题有招吗?