Now even Pfizer. Inc. can be managed
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
using DataDomain;
|
||||
using BrowserHelper.Settings;
|
||||
using DataDomain;
|
||||
using OpenQA.Selenium;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace BrowserHelper.Extensions
|
||||
{
|
||||
@ -73,7 +75,7 @@ namespace BrowserHelper.Extensions
|
||||
return tableDataCollection;
|
||||
}
|
||||
|
||||
public static List<DiTraderStockRow> SimpleReadTablePartly(this IWebElement table, string[] shares, string[] shareHeaders)
|
||||
public static List<DiTraderStockRow> SimpleReadTablePartlyOld(this IWebElement table, string[] shares, string[] shareHeaders)
|
||||
{
|
||||
var shareCollection = new List<DiTraderStockRow>();
|
||||
var columns = table.FindElements(By.TagName("th"));
|
||||
@ -114,6 +116,54 @@ namespace BrowserHelper.Extensions
|
||||
return shareCollection;
|
||||
}
|
||||
|
||||
|
||||
public static List<DiTraderStockRow> SimpleReadTablePartly(this IWebElement table, string[] shares, string[] shareHeaders)
|
||||
{
|
||||
var shareSet = new HashSet<string>(shares);
|
||||
|
||||
var shareCollection = new List<DiTraderStockRow>();
|
||||
var columns = table.FindElements(By.TagName("th"));
|
||||
IWebElement tblBody = table.FindElement(By.XPath(".//tbody"));
|
||||
var rows = tblBody.FindElements(By.TagName("tr"));
|
||||
Dictionary<string, int> columnPos = new Dictionary<string, int>();
|
||||
//GlobalStopwatch.PrintSecs("After allocations");
|
||||
for (int i = 0; i < columns.Count; i++)
|
||||
{
|
||||
if (shareHeaders.Contains(columns[i].Text)) columnPos.Add(columns[i].Text, i);
|
||||
}
|
||||
//var antal = shares.Length;
|
||||
int rowIndex = 0;
|
||||
//GlobalStopwatch.PrintSecs("Before scraplooping");
|
||||
foreach (var row in rows)
|
||||
{
|
||||
var element = row.FindElement(By.XPath(".//td"));
|
||||
if (!shareSet.Contains(element.Text)) { }
|
||||
else
|
||||
{
|
||||
var colDatas = row.FindElements(By.TagName("td"));
|
||||
if (colDatas.Count != 0 && shares.Contains(colDatas[0].Text))
|
||||
{
|
||||
shareCollection.Add(new DiTraderStockRow
|
||||
{
|
||||
StockName = colDatas[columnPos["Aktie"]].Text,
|
||||
LatestPrice = decimal.Parse(colDatas[columnPos["Senast"]].Text),
|
||||
TimeOfDay = TimeSpan.Parse(colDatas[columnPos["Tid"]].Text)
|
||||
});
|
||||
|
||||
rowIndex++;
|
||||
//antal--;
|
||||
shareSet.Remove(element.Text);
|
||||
}
|
||||
}
|
||||
//if (antal < 1) break;
|
||||
if (shareSet.Count < 1) break;
|
||||
}
|
||||
//GlobalStopwatch.PrintSecs("After scraplooping");
|
||||
return shareCollection;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static ColumnSpecialValue GetControl(IWebElement columnValue)
|
||||
{
|
||||
ColumnSpecialValue? columnSpecialValue = null;
|
||||
|
||||
Reference in New Issue
Block a user