Close Popin or Scroll Popin to close it

Hi,

I have a problem to close popin like this :

When i fill TextArea in the footer, the X icon which allows to close it disappear and I can not scroll the popin to click on the cross.

Someone find a solution about popin like this please ?

@ouknam Can you please share the script ?

I think the behaviour of pop up is like this :

  • The X icon is at top and it doesn’t scroll with the script execution on the last field.

I would suggest you to add a code that would basically click on the 1st field. This would make the pop up scroll back to the 1st field and X icon should show up there. Then just click the X icon.

I might be wrong, but the test doesn’t need to see the cross to actually click on it, unless the cross is removed from HTML when you scrolldown.

This statement made me suggest scrolling back up to bring the X button back.

@nilau : For the popin it’s complicated. it doesnt recognize by katalon unfortunately
@manpreet.mukkar : I try it but the X icon is hide.

@ouknam Are you able to type into any field on this pop up ?

Can you please post the html and script and workflow ?

Yes i’m able to.

I can’t i don’t know how to post html and workflow

@ouknam Is the page you are testing accessible on public url ?

To get the HTML of the element right click on the element and click Inspect. It will open Developer tools and from there it will show HTML of the highlighted element.

By workflow I mean the steps or way you are trying to follow to execute this test

Yes, it’s this url :
https://www.pagesjaunes.fr/annuaire/region/ile-de-france/architecte

click on Email button you will see

@ouknam I was right, The pop up close button will again show up if you scroll to the top of the pop up.

So to close the pop up after you have scrolled to the top you should try with this selector for the close pop up the object.

Here is the HTML

I am assuming that you are able to type into any field of this pop up trough script.

Do you know how to scroll-up this popin please (caution : not the test area) ?

@ouknam The easiest way to scroll would be click on the 1st text field that should automatically scroll to the top of pop up.

The xpath of the 1st field should be

//input[@id=‘contact_votreNom’]

and what is the instruction to scroll up ?

@ouknam Can you please share the code you created ? I don’t know how far you are in script and if you can share that then I would be able to see what needs to be done to accomplish this.

I have not managed to solve the scroll-up of the popin

import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject

import org.openqa.selenium.By
import org.openqa.selenium.Keys
import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement

import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

WebUI.openBrowser('')
WebUI.navigateToUrl('https://www.pagesjaunes.fr/')
WebUI.setText(findTestObject('PJ/1_Page_Accueil/1_TF_input_quoi qui _quoiqui'), 'architecte')
WebUI.setText(findTestObject('PJ/1_Page_Accueil/2_TF_input_o _ou'), 'ile-de-france')
WebUI.click(findTestObject('PJ/1_Page_Accueil/3_Loupe_i_A proximit_icon icon-search'))
//WebUI.click(findTestObject('PJ/2_Page_Resultat_Recherche/a_E-Mail'))
WebUI.delay(5)
//Cliquer sur le 1er Btn Email, 2ème Btn EMAIL
WebDriver driver = DriverFactory.getWebDriver()
List <WebElement> buttons = driver.findElements(By.xpath('//a[@title=\'E-Mail\']'))

a = buttons.size()
println("Number Of Email Object in this Page: "+a)
if(a == 0){
	println("------------ PAS DE MAILS DANS CETTE PAGE ------------")
}else{
for (def i=0; i<buttons.size(); i++){
	println("Loop n° "+i)
	buttons.get(i).click()
	
	//On rempli le formulaire et on envoie
	//WebUI.waitForElementVisible(findTestObject('PJ/3_Page_Formulaire/1_TF _Nom'), 5)
	
	WebUI.setText(findTestObject('PJ/3_Page_Formulaire/1_TF _Nom'),'toto')
	WebUI.setText(findTestObject('PJ/3_Page_Formulaire/2_TF_Email'),'toto@gmail.com')
	WebUI.setText(findTestObject('PJ/3_Page_Formulaire/3_TF_TEL'),'0695826456')
	WebUI.setText(findTestObject('PJ/3_Page_Formulaire/4_TF_Objet_Message'),'xxx xxx xxx')
	//WebUI.click(findTestObject('PJ/3_Page_Formulaire/6_BTN_EnvoyerMSG'))
	WebUI.delay(3)
	WebUI.click(findTestObject('PJ/3_Page_Formulaire/X_i_Fermer_icon icon-fermer'))
	//WebUI.rightClick(findTestObject('PJ/3_Page_Formulaire/7_Libelle_CB_Merci votre message a bien t envoy'))
	//WebUI.click(findTestObject('PJ/4_Page_Prospect/1_NomEntreprise_h1'))
	//WebUI.click(findTestObject('PJ/3_Page_Formulaire/8_span_Retour aux rsultats')) //-> pas toujours présent ce lien
	//on fera un Alt + <- sur Mozilla
	WebUI.delay(3)
	
	WebUI.sendKeys(findTestObject('PJ/4_Page_Prospect/h1_Titre'),Keys.chord(Keys.ALT,Keys.ARROW_LEFT))
	//WebUI.closeBrowser()
	buttons = driver.findElements(By.xpath("//a[@title='E-Mail']"))
}
}

@ouknam What you are trying to do with SendKeys option? If you want to just scroll or use keyboard shortcut then try this

WebUI.sendKeys(findTestObject(null), Keys.chord(Keys.ALT,Keys.ARROW_LEFT))

@ouknam So once you have clicked on Email button then it is opening a new page and on that page it is opening a pop up.

To take focus to this pop up I am clicking on it. To do that I created a new object and used click command to click on that. I am not sure if you would need to use this step but just to be on safe side try with and without it.

Then I tried to enter text in the last field. To do that I created an object

Then again to see the X button we need to scroll back to the top of the page. To do that we need to Click on the 1st Field. Use it with click statement. You can use other ways to do that too.

Then just click on the X button