Selenium Node - Help with Find Element Node

#1

Hi,

I hope all is going well :slight_smile:

I am trying to do some searches using this GMC website;
https://webcache.gmc-uk.org/gmclrmp_enu/start.swe

I use Chrome to navigate the page. Once it loads, I can use F12 on Chrome and be able to select the fields and get their names. In my case, I want to reach id = “gmcrefnumber” field. But I can’t see that in “Find Elements” node in Selenium.

This is what I am trying to do;

  • Open the website
  • Start the loop (I need to search multiple numbers)
  • Put GMC number in GMC reference number field
  • Search results
  • Get Results (Names, Status, Specialist Register entry date, etc)
  • Search again (There is a link on top left of the page to go back to search again)
  • End loop
  • Provide the results in a table format

Once I accomplish above, I am planing to create similar flow for name search this time.

Unfortunately; due to GDPR and company policy, I can’t provide any license numbers here but you may search some common names (James, Eric, etc) and get some license numbers from the website if you need it.

Thanks in advance.

Kind regards,
Nezir

0 Likes

#2

Hi Nezir,

mentioned <input> element is within a <frame>, so you’ll explicitly need to switch to that frame. As this is a common question and I’m feeling lazy currently, I just link to an existing thread which gives the details:

Let me know if that helps.

– Philipp

4 Likes

#3

hi Philipp,

Thanks for the quick response.
It worked once, but now it creates empty tables each time.

Web Driver Factory > Start Webdriver (GMC website) > Find Elements (Xpath: /html/frameset/frame[2]) > Frame (WebElement, selected XPath from Previous node) > Find Elements (ID: gmcrefnumber) > Send Keys > Submit

Now, 2nd Find Elements started creating empty table; meaning it can not find the field I assume. I am trying a couple of things to solve that.

I’ve followed the solutions that you offered on the other page. Maybe I couldn’t pinned the field names correctly.

Thanks,
Nezir

0 Likes

#4

Maybe simple as that: Afterwards, you’ll need another “Frame” node if you want to access elements which are in the outer frame :slight_smile:

If that does not help, feel free to post an example workflow and I’ll have a look!

0 Likes

#5

I really can’t figure out.
It seems as you suggested; there are more frames.
class=“tablebody” has the fields that I need. But when I put that into Find Elements, it gets me an empty table.

GMC_Test.knwf (23.1 KB)

0 Likes

#6

I think one of either “Find Elements” queries was wrong (didn’t have time for a thorough check, so I’m just giving the solution … which is probably not good didactics, bear with me :innocent: ). I configured them as follows:

  1. //frame[@name='_sweclient']
  2. //frame[@name='_sweview']

(instead of the auto-generated selectors I looked at the DOM structure and used the name attribute as selector). This seems to work for me. Here’s the flow:

4 Likes

#7

Thanks Philipp.
Submit node didn’t work. So I put another Find Elements and find the button this time and then used Click. Now I am able to get the results.
Thanks for the help.

:beer: Cheers!

Nezir

2 Likes

closed #8

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

0 Likes