Interacting with Web pages using selenium inside electron application - javascript

I want to create an electron application which contains a sidebar and a improvised Web browser next to the sidebar. When a user presses the button in the sidebar i need selenium to start Interacting with the webpage in the improvised browser.
I would like to know if its possible and if there are any tools that might help me.

Selenium is using browser's driver to make the connection between your code and the browser. I haven't heard about anything similar to your project, but you will need to make your own driver for your custom browser and define from where the browser is opened (since it will be located inside your application, not on local machine)

Related

Open mobile app (if installed) using javascript (without intent)

From web browser, I want the ability to open any app if installed (such as facebook, twitter etc) using java-script. I can't update intent file, want to do it solely from java-script. Is there a way from java-script to detect the installed apps (from IOS & Android) and open it?
You can use Firebase Dynamic Links https://firebase.google.com/docs/dynamic-links
It was designed to resolve the issues like yours.

Running terminal through the web browser

I'm struggling with some Web App recently and have a unusual question.
Is it possible to access terminal via the web browser? Let's assume that I have a button, and when I press it I want to have new terminal window appear.
Any ideas?
If you are running the web app locally, you can tell your server (PHP, ASP.NET, ...) to launch on calling specific url (eg: http://localhost:8080/open/terminal). You can even make a button click event to call that url in the background.
But that's dirty way of doing such things.
TIPS: If you wish to use web technology for desktop apps, use https://electronjs.org/

Click a button in Google Chrome not using Selenium

I'm trying to install a google chrome extension on a large amount of my desktop computers using python. I've gotten Selenium to open a simulated browser with the extension, but that doesn't actually download it to the computer, so that doesn't necessarily help. My current code is
import webbrowser
webbrowser.open_new_tab(
"https://panelresearch.google.com/browser/extension/download")
This just opens the page where I can find the extension, can anyone show me a library where I can click buttons that are on this page?
Additionally, I'll need to identify the extension popup and I realized that I cannot inspect any elements in that popup.
As far as I know, there is no way of operating the extension popup using any API other than simulating the clicking on OS level.
When you're testing an extension using Selenium, you have to specify a custom profile as an argument during the start of the process connected to the WebDriver. More info here or use a special ChromeDriver API.
If you just want to force install an extension in an enterprise/educational environment, you can follow this guide.
You can also edit already existing profiles (to some extend and in my experience unreliably) by editing the Preferences file in the profile directory. Just make sure you have backups and an instance of Chrome is not running with that profile.
Good luck.

run windows application at client side from aspx.cs

I have windows application in c#.that is installed for client . I need run that window application from client side when user button click in asp.net web application
Explanation
I have task that scan hard copy from scanner . I developed web application in asp.net c#. I have search in Google to do this so many peoples are saying that is not possible due to permissions. so I developed windows application when I run that window application(c#) it scan the hard copy from scanner this window application run in background so I need to run this window application. when user button click in asp.net web application
You cannot run applications from a website on client's machine due to security & permissions.
However, your website probably can communicate with the scanner. Check this detailed answer.
While you cannot run the application from the browser, there is another option, if your application is already running in the background. Then you can make it listen to some local port and then ask the browser to redirect to the URL (consisting of localhost and that port, e.g. http://localhost:34554), so the application would receive an HTTP request and will know it needs to become active / show its window / etc. Using this technique, you could even pass some parameters to your application using query params in the URL.
Another option that allows you kinda run an application from the browser is Microsoft ClickOnce - it is just a simplified way of installing and running an application without the need for the user to download and manually run the installer.

How to run Selenium browsers in the background in windows

I'm trying to click on a javascript button in this site(its the search button on the left):
http://www.amadeusepower.com/trek/portals/trek/default.aspx?Culture=en-US
I couldn't find a way to click on it using htmlunit. Now I am thinking of switching to selenium but there is a problem. My application should fill the forms and get the results from the site and parse them to get some data from the results page and send it to an android device. It will need to run one instance for each android device connected to it so if I use selenium it probably will pop up a new window for each user and that may complicate things. I want to use a headless browser but as I said htmlunit has an issue which I asked in here How to click on a javascript button in htmlunit
Does anyone know a way to run selenium as a headless browser on windows or can you suggest another tool I can use in eclipse in windows for this purpose?
You can use phantomjs. It is a complete webkit based headless browser that has builtin webdriver support.

Categories