Avatar billede dp2001 Juniormester
27. januar 2021 - 15:41 Der er 1 kommentar

document.evaluate('${xpath}',document.body,null,9,null).singleNodeValue.click();

Jeg sidder med noget automatiseringssoftware der hedder Power Automate Desktop, hvor jeg forsøger at automatisere en proces. Jeg skal bla. finde ud af klikke på et givent link og har fundet ud af jeg formentlig kan gøre det ved at afvikle en JavaScript funktion. De normale funktioner i automatiserings-softwaren til at klikke kan jeg ikke bruge, da "UI element selectoren" ændrer sig fra gang til gang.

Jeg er helt grøn udi JS, men fandt frem til følgende: document.evaluate('${xpath}',document.body,null,9,null).singleNodeValue.click();

Jeg har så omformet til document.evaluate('//a[@aria-label="Salgsfakturaer" and @role="menuitem"]',document.body,null,9,null).singleNodeValue.click()

Nu til mit problem... Hvis jeg går i Chrome, vælger Inspect på elementet først og dernæst fyrer ovenstående af i console, så går det fantastisk. Hvis jeg derimod loader siden direkte, går i console og forsøger igen (uden først at have inspectet), så finder den ikke frem til det.

Indholdet der loades er via noget javascript/iframe.. <script id="boot" src="... Aner ikke om det har noget at sige, eller om jeg i stedet skal tilføje noget til mit script, så jeg først får peget mig ind på den rigtige iframe, vente på at indhold er loadet helt eller noget helt tredje.

Som sagt...helt grøn, så hvis der er nogen der kan guide mig i den rigtige retning, vil jeg blive meget glad.

Tak.
Avatar billede erikjacobsen Ekspert
27. januar 2021 - 16:15 #1
Kan det være et problem med at indlæsningen i din javascript/iframe ikke er blevet færdig før du kalder document.evaluate ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester