diff --git a/CardMarketBot/Artikel.cs b/CardMarketBot/Artikel.cs
index c2ab94a..72b9efe 100644
--- a/CardMarketBot/Artikel.cs
+++ b/CardMarketBot/Artikel.cs
@@ -1,6 +1,6 @@
// See https://aka.ms/new-console-template for more information
-internal class Artikel
+public class Artikel
{
public int Amount { get; set; }
public string GERName { get; set; } = "";
diff --git a/CardMarketBot/CardMarketBot.csproj b/CardMarketBot/CardMarketBot.csproj
index fad1b3f..773db75 100644
--- a/CardMarketBot/CardMarketBot.csproj
+++ b/CardMarketBot/CardMarketBot.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/CardMarketBot/CardMarketParser.cs b/CardMarketBot/CardMarketParser.cs
index 0ccad66..4605720 100644
--- a/CardMarketBot/CardMarketParser.cs
+++ b/CardMarketBot/CardMarketParser.cs
@@ -33,7 +33,11 @@ namespace CardmarketBot
{
ChromeOptions options = new ChromeOptions();
options.AddArgument("start-maximized");
+ options.AddArgument("incognito");
+ options.AddArgument("disable-popup-blocking");
+ options.AddArgument("force-device-scale-factor=0.8");
IWebDriver cd = new ChromeDriver(options);
+
cd.Url = @"https://www.cardmarket.com/de/OnePiece";
cd.Navigate();
@@ -89,7 +93,9 @@ namespace CardmarketBot
{
//if (id != "1121844928") continue;
//Console.WriteLine(id);
- cd.Navigate().GoToUrl(string.Format(@"https://www.cardmarket.com/de/OnePiece/Orders/{0}", id));
+ //id = "1121395158";
+ cd.Navigate().GoToUrl(string.Format(@"https://www.cardmarket.com/de/OnePiece/Orders/1121395158", id));
+ //cd.Navigate().GoToUrl(string.Format(@"https://www.cardmarket.com/de/OnePiece/Orders/{0}", id));
element = cd.FindElement(By.XPath("/html/body/main/section/div/div[1]/div/div[3]/div[2]/div[2]/div/div"));
Kunde kunde = Helper.ConvertToKunde(element.Text);
diff --git a/CardMarketBot/DataContracts/InvoicePosSave.cs b/CardMarketBot/DataContracts/InvoicePosSave.cs
index 229fcf8..14b5a3a 100644
--- a/CardMarketBot/DataContracts/InvoicePosSave.cs
+++ b/CardMarketBot/DataContracts/InvoicePosSave.cs
@@ -1,11 +1,5 @@
using Newtonsoft.Json;
-using OpenQA.Selenium.DevTools.V112.DOM;
-using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Runtime.Serialization;
-using System.Text;
-using System.Threading.Tasks;
namespace ConsoleApp3.DataContracts
{
diff --git a/CardMarketBot/Helper.cs b/CardMarketBot/Helper.cs
index 01e189d..b56be5e 100644
--- a/CardMarketBot/Helper.cs
+++ b/CardMarketBot/Helper.cs
@@ -3,7 +3,7 @@
using System.Diagnostics;
using System.Text.RegularExpressions;
-static class Helper
+public static class Helper
{
public enum Porto
{
@@ -53,7 +53,7 @@ static class Helper
}
- internal static List ParseArtikeln(string text)
+ public static List ParseArtikeln(string text)
{
List result = new List();
string[] datas = text.Split("\r\n");
diff --git a/CardMarketBot/Program.cs b/CardMarketBot/Program.cs
index cab7949..142acaa 100644
--- a/CardMarketBot/Program.cs
+++ b/CardMarketBot/Program.cs
@@ -1,13 +1,6 @@
using ConsoleApp3.DataContracts;
-using ConsoleApp3;
using ConsoleApp3.Contracts;
using System.Text.RegularExpressions;
-using System.Diagnostics;
-using System.Net;
-using System.Net.Sockets;
-using System.Text;
-using OpenQA.Selenium.DevTools.V112.Network;
-using OpenQA.Selenium.DevTools.V112.Debugger;
using CardMarketBot;
namespace CardmarketBot
diff --git a/CardMarketBotSolution.sln b/CardMarketBotSolution.sln
index 336f372..d747698 100644
--- a/CardMarketBotSolution.sln
+++ b/CardMarketBotSolution.sln
@@ -5,6 +5,8 @@ VisualStudioVersion = 17.6.33815.320
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CardMarketBot", "CardMarketBot\CardMarketBot.csproj", "{4CB462A0-22BB-4E70-9C0B-203560329AFE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CardMarketBotTests", "CardMarketBotTests\CardMarketBotTests.csproj", "{778573E1-5691-44C2-A897-C84FCC73FAC0}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
{4CB462A0-22BB-4E70-9C0B-203560329AFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4CB462A0-22BB-4E70-9C0B-203560329AFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4CB462A0-22BB-4E70-9C0B-203560329AFE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {778573E1-5691-44C2-A897-C84FCC73FAC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {778573E1-5691-44C2-A897-C84FCC73FAC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {778573E1-5691-44C2-A897-C84FCC73FAC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {778573E1-5691-44C2-A897-C84FCC73FAC0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/CardMarketBotTests/CardMarketBotTests.csproj b/CardMarketBotTests/CardMarketBotTests.csproj
new file mode 100644
index 0000000..7add687
--- /dev/null
+++ b/CardMarketBotTests/CardMarketBotTests.csproj
@@ -0,0 +1,23 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+ false
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CardMarketBotTests/HelperTests.cs b/CardMarketBotTests/HelperTests.cs
new file mode 100644
index 0000000..4b7e99c
--- /dev/null
+++ b/CardMarketBotTests/HelperTests.cs
@@ -0,0 +1,21 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tests
+{
+ [TestClass()]
+ public class HelperTests
+ {
+ [TestMethod()]
+ public void ParseArtikelnTest()
+ {
+ string input = "1x Portgas.D.Ace (OP02-013) (V.3)\r\nPortgas.D.Ace (OP02-013) (V.3)\r\n#013\r\nOP-02\r\nNM\r\nTOP Condition, Bilder auf Anfrage! Versand im Magnetic Card Holder + Bonus\r\n515,00 €\r\n";
+ string input2 = "1x Schrottgolem\r\nScrap Golem\r\n#059\r\nMGED\r\nNM\r\n0,10 €\r\n1x Schalenritter\r\nShell Knight\r\n#016\r\nGFP2\r\nNM\r\n0,10 €\r\n2x Chaos-Grepher\r\nChaos Grepher\r\n#039\r\nGFP2\r\nNM\r\n0,10 €\r\n1x Jormungandr, Generaider-Boss der Ewigkeit\r\nJormungandr, Generaider Boss of Eternity\r\n#147\r\nGFP2\r\nNM\r\n0,10 €\r\n3x Querhüter\r\nCross Keeper\r\n#002\r\nPOTE\r\nNM\r\n0,05 €\r\n1x Grausiger Trick des Erzunterweltlers\r\nArchfiend's Ghastly Glitch\r\n#026\r\nTAMA\r\nNM\r\n0,10 €\r\n1x Der sagenhafte Abanc\r\nThe Fabled Abanc\r\n#010\r\nMP22\r\nNM\r\n0,05 €\r\n1x Sagenhafter Andwraith\r\nFabled Andwraith\r\n#024\r\nMP22\r\nNM\r\n0,05 €\r\n1x Treffpunkt der Sta-Brigade\r\nTri-Brigade Rendezvous\r\n#032\r\nMP22\r\nNM\r\n0,05 €\r\n1x Sagenhafter Verrat\r\nFabled Treason\r\n#041\r\nMP22\r\nNM\r\n0,05 €\r\n1x Zoroa, Magistus-Loderkatastrophe\r\nZoroa, the Magistus Conflagrant Calamity\r\n#212\r\nMP22\r\nNM\r\n0,05 €\r\n1x Schreckensklauen-Doppelsäge\r\nScareclaw Twinsaw\r\n#075\r\nDABL\r\nNM\r\n0,05 €\r\n1x Hajun, der geflügelte Mayakashi\r\nHajun, the Winged Mayakashi\r\n#017\r\nMAMA\r\nNM\r\n0,10 €\r\n1x Chaos-Daedalus\r\nChaos Daedalus\r\n#071\r\nBLCR\r\nNM\r\n0,10 €\r\n1x Flammedler Ritter - Roland\r\nInfernoble Knight - Roland\r\n#050\r\nAMDE\r\nNM\r\n0,05 €\r\n1x Chaos-Trugbild-Drache\r\nChaos Mirage Dragon\r\n#013\r\nPHHY\r\nNM\r\n0,20 €\r\n1x Abgrundschauspieler-Generalprobe\r\nAbyss Actors' Dress Rehearsal\r\n#063\r\nPHHY\r\nNM\r\n0,10 €\r\n1x Abgrundschauspieler - Freiheitsautorin\r\nAbyss Actor - Liberty Dramatist\r\n#016\r\nPHHY\r\nNM\r\n0,05 €\r\n1x Numeron-Schöpfung\r\nNumeron Creation\r\n#052\r\nPHHY\r\nNM\r\n0,05 €\r\n1x Abgrundskript - Dramatische Geschichte\r\nAbyss Script - Dramatic Story\r\n#064\r\nPHHY\r\nNM\r\n0,05 €\r\n1x Schwarzflügel - Elphin der Rabe\r\nBlackwing - Elphin the Raven\r\n#038\r\nMAZE\r\nNM\r\n0,10 €\r\n1x Rikka-Blütenblatt\r\nRikka Petal\r\n#047\r\nMAZE\r\nNM\r\n0,05 €\r\n1x D.D. Trainer\r\nD.D. Trainer\r\n#055\r\nDCR-25TH\r\nNM\r\n0,10 €\r\n1x Schwur des Erzunterweltlers\r\nArchfiend's Oath\r\n#092\r\nDCR-25TH\r\nNM\r\n0,10 €\r\n1x Frühe Saat\r\nPrimal Seed\r\n#042\r\nIOC-25TH\r\nNM\r\n0,10 €\r\n1x Neue Grenze\r\nNew Frontier\r\n#054\r\nCYAC\r\nNM\r\n0,05 €\r\n1x Lamia\r\nLamia\r\n#021\r\nBLMR\r\nNM\r\n0,10 €\r\n1x Groll der Viper\r\nViper's Grudge\r\n#022\r\nBLMR\r\nNM\r\n0,10 €\r\n2x Geist Lanzenträger, Speerkämpfer der Unterwelt\r\nGhost Lancer, the Underworld Spearman\r\n#023\r\nBLMR\r\nNM\r\n0,10 €\r\n1x Gazelle, König der mythischen Krallen\r\nGazelle the King of Mythical Claws\r\n#003\r\nDUNE\r\nNM\r\n0,20 €\r\n1x Großflügliger Berfomet\r\nBig-Winged Berfomet\r\n#004\r\nDUNE\r\nNM\r\n0,20 €\r\n1x Spiegel-Schwertritter\r\nMirror Swordknight\r\n#006\r\nDUNE\r\nNM\r\n0,20 €\r\n1x Mächtiger Dinokönig Rex\r\nMighty Dino King Rex\r\n#008\r\nDUNE\r\nNM\r\n0,15 €\r\n1x Altergeist Peritrator\r\nAltergeist Peritrator\r\n#010\r\nDUNE\r\nNM\r\n0,25 €\r\n1x Flammedler Ritter Ricciardetto\r\nInfernoble Knight Ricciardetto\r\n#013\r\nDUNE\r\nNM\r\n0,25 €\r\n1x Flammedler Ritter Turpin\r\nInfernoble Knight Turpin\r\n#014\r\nDUNE\r\nNM\r\n0,20 €\r\n1x Ultimativer glänzender Ritter Ursatron Alpha\r\nUltimate Bright Knight Ursatron Alpha\r\n#021\r\nDUNE\r\nNM\r\n0,20 €\r\n1x Thestalos der Schattenfeuer-Monarch\r\nThestalos the Shadowfire Monarch\r\n#023\r\nDUNE\r\nNM\r\n0,15 €\r\n1x Schimäre das Illusionsungeheuer\r\nChimera the Illusion Beast\r\n#034\r\nDUNE\r\nNM\r\n0,25 €\r\n1x Thelematech Clatis\r\nThelematech Clatis\r\n#045\r\nDUNE\r\nNM\r\n0,15 €\r\n1x Schimärenfusion\r\nChimera Fusion\r\n#052\r\nDUNE\r\nNM\r\n0,20 €\r\n1x Verbannende Fallgrube\r\nBanishing Trap Hole\r\n#077\r\nDUNE\r\nGD\r\n0,10 €\r\n3x Rotäugiger schwarzer Meteordrache\r\nRed-Eyes Black Meteor Dragon\r\n#095\r\nDUNE\r\nNM\r\n0,25 €\r\n1x Magier der Ergebenheit\r\nMagician of Faithfulness\r\n#098\r\nDUNE\r\nNM\r\n0,20 €\r\n1x Kornfeld-Coatl\r\nCornfield Coatl\r\n#005\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Zweiköpfiger Dinokönig Rex\r\nDouble-Headed Dino King Rex\r\n#007\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Behemoth, der König der Hundert Schlachten\r\nBehemoth the King of a Hundred Battles\r\n#024\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Gaia-Lohe, die Kraft der Sonne\r\nGaia Blaze, the Force of the Sun\r\n#042\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Grenosaurier Gigakanone\r\nGrenosaurus Giga-Cannon\r\n#046\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Jurassische Stärke\r\nJurassic Power\r\n#053\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Beta-Evolutionspille - Ultranszendenz\r\nBeta Evolution Pill - Ultranscendance\r\n#063\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Hundert Millionen Jahre Eisgefängnis\r\nMillion-Century Ice Prison\r\n#066\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Das fortwährende Epos von Charles\r\nThe Continuing Epic of Charles\r\n#072\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Kleiner Streit\r\nSmall Scuffle\r\n#078\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Geteilter Spiegel der Unterwelt\r\nSplit Mirror of the Underworld\r\n#079\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Zuttomozaurier\r\nZuttomozaurus\r\n#081\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Finis Terrae, Turm der Nekrowelt\r\nFinis Terrae, Tower of the Necroworld\r\n#082\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Kuibelt der Klingendrache\r\nKuibelt the Blade Dragon\r\n#083\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Sternenstaubgewürm\r\nStardust Wurm\r\n#094\r\nDUNE\r\nNM\r\n0,10 €\r\n1x Diabolica die Drachogeneralin\r\nDiabolica the Draconique General\r\n#096\r\nDUNE\r\nNM\r\n0,10 €\r\n";
+ Assert.Fail();
+ }
+ }
+}
\ No newline at end of file