Opgelost Selecteer webelement en verplaats deze

Dit topic is als opgelost gemarkeerd

Bram65

Gebruiker
Lid geworden
25 feb 2023
Berichten
46
Beste,
Ik kan geen voorbeeldbestand toevoegen omdat het een website betreft waarop ik een abbo heb en dus gevoelige informatie bevat. Het betreft een abbo op Kinomap.com, virtueel trainen middels video's icm hometrainer.

Ik heb in mijn account, per land een playlist gemaakt waarin ik video's opsla.
Bijvoorbeeld een video welke is opgenomen in Frankrijk, sla ik op in de playlist Frankrijk.
Daarin staan bv 45 video's. Kinomap biedt niet de optie deze video's te sorteren en daarom heb ik in Excel, met gebruik te maken van Chrome en Selenium, een macro gemaakt die deze playlisten inclusief de video's die erin staan inleest en de data in een Excel sheet, GESORTERRD OP HOOGTEMETERS neerzet. Ik kan dan in de Kinomap playlist de video's sorteren door gebruik te maken van het Excel sheet.
Maar wanneer ik een bepaalde video 2x heb gereden, mag die uit de Kinomap playlist worden verwijderd.

Nu heb ik inmiddels al wel zover dat de te verwijderen video's door de macro uit de Kinomap playlist verwijderd worden.
Ook heb ik het zover dat de video's welke in de Kinomap playlist gesorteerd moeten worden, achterhaald heb. Ik weet dus welk webelement het betreft. Alleen het sorteren/verplaatsen lukt me niet.
Handmatig moet ik dus zo'n video met linkermuisklik aanklikken en vasthouden en naar beneden slepen naar de positie die door het Excel sheet wordt aangegeven.
En dat zou ik ook graag door die macro willen laten uitvoeren maar ik weet niet hoe.
Hopelijk wil en kan iemand op weg helpen.

Bedankt voor uw tijd, gr Bram
 
Uiteindelijk heb ik na veel lezen gevonden hoe een element te verplaatsen. Voor de liefhebbers is hier de code

Code:
Dim elePak As WebElement, elePlak As WebElement
Dim bot As New Selenium.ChromeDriver
Dim X as Integer, X1 as Integer

With bot
    '.AddArgument ("headless")                                                                                             
    'deze verbergt het Chrome venster als die niet geremd is
    
    .AddArgument "window-size=600,800"
    .Get "jouw link"
    
    X= 2                                                               
    'stel dat het te verplaatsen element op positie 2 in de tabel zit   
    
    X1 = 5                                                                 
    'en dat dit element 3 plaatsen naar beneden moet
    
    Set elePak = .FindElementByXPath("/html/body/div[5]/div[3]/div/div/ul/li[" & X & "]/div/div[2]/div/div[1]/span")   
   'zet het te verplaatsen element in elePak   
  
    Set elePlak = .FindElementByXPath("/html/body/div[5]/div[3]/div/div/ul/li[" & X1  & "]/div/div[2]/div/div[1]/span")
    'zet element waar die naar toe meot in elePlak
    
    .Actions.DragAndDrop(elePak, elePlak).ClickAndHold.Perform                   
    'verplaats het element       
    
    Sleep (250)
    .Actions.Release(elePak).Perform                                           
    'los de muisklik
    
    Sleep (250)
    .FindElementByXPath("/html/body/div[5]/div[3]/div/button").Click                               
    'klik op knop 'Confirm new order'
    
    Sleep (500)
    .quit                                                               
    'sluit Chrome
end with
 
Terug
Bovenaan Onderaan