nightmare js || clicka på jobbig länk <a></a>

Permalänk
Medlem

nightmare js || clicka på jobbig länk <a></a>

Hej, är det någon som vet hur man ska kunna klicka på följande <a> i nightmare js?

<a id="RANDOM_ID" href="changes_each_time>constant_text</a>

som jag försökt visa här nu med <a> tagen är det bara texten mellan <a> och </a> som är konstant, så min fråga är hur skulle man kunna klicka eller använda denna <a> i nightmare js?

Tack för svar!

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

Detta kanske fungerar?

.click('a:contains("constant_text")');

Permalänk
Medlem

tyvärr så funkade det inte, gillade dock förslaget!

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem

Kan du inte använda attribut som du kan sedan kolla mot?
Samt binder du efter att DOM är klar eller innan/under tiden?

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Vet inte varför (då det inte är jag som gjort sidan och känner inte till backend:et), men attributen i taggen ändras varje gång jag laddar om sidan, det ända som är konstant är texten mellan <a> och </a>.

DOM är färdigladdat när jag försöker använda den.

exempel på hur jag väljer attribut från en input tag kan jag visa (kanske hjälper) (väldigt ny inom nightmare så jag är inte så kunig):

.click("input[name="'submit'"]")

pilen på bilden visar vad det är jag försöker klicka på:

screenshotet är tagget med nightmare js också så jag vet att den är färdigladdad.

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6

Permalänk
Medlem
Skrivet av asdfgh:

Vet inte varför (då det inte är jag som gjort sidan och känner inte till backend:et), men attributen i taggen ändras varje gång jag laddar om sidan, det ända som är konstant är texten mellan <a> och </a>.

DOM är färdigladdat när jag försöker använda den.

exempel på hur jag väljer attribut från en input tag kan jag visa (kanske hjälper) (väldigt ny inom nightmare så jag är inte så kunig):

.click("input[name="'submit'"]")

pilen på bilden visar vad det är jag försöker klicka på:
https://s17.postimg.io/3zs7oytvj/Screenshot_from_2016_09_05_20_37_36.png
screenshotet är tagget med nightmare js också så jag vet att den är färdigladdad.

jo men skapa eget attribut i dom elementet för att sedan hooka på det. Dvs skapa exempelvis data-menu="book-group-room"

och sedan kör .click('a[data-menu="book-group-room"]') eller något liknande.

Nu är jag skadad av JQuery men är click med contains som selector i vanliga js alt nightmare?

Alternativt bindar du alla <a> och sedan tar vanliga js funktioner för att få innerText och beslutar senare i skedet vad som skall ske beroende på contents. Fullt men.....

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Klockrent du är ett geni!
Jag löste det genom:

.evaluate(function(){ document.getElementsByClassName("tab")[3].childNodes[1].setAttribute("data-menu", "book-group-room"); }) .click("a[data-menu='book-group-room']")

Visa signatur

Смерть -это решение всех проблем. Нет человека - нет проблемы
Comp1: Ubuntu 16.04 Comp2: Arch Linux
Comp3: Ubuntu Server 16.04 Comp4: Centos 6.5
Comp5: Linux mint 16 Comp6: Raspberry pi (olika OS hela tiden)
Phone: Motorola Google Nexus 6