How to Selenium Load Chrome Extensions in a Specific Location - python-3.x

I am having an issue with Selenium (chrome+python 3.9) when loading extensions. I have set the user-data-dir to a specific location, but additionally loaded extensions from CRX are still loaded into to the localappdata.
Is there a way to force the extensions to load into another directory that isn't the randomly generated name in the appdata folder?

Related

Chrome download API: default location for the save as window

On my Chrome extension I have an option to download a file on a specific path (set by the user) but I've seen that is impossible to download a file outside the download directory, so I decided to use the save as option but when the dialog opens it is on the download directory but I want it to be on the folder previously chosen by the user

Enable Multiple Downloads Chrome Headless Selenium Python without original File replacement

Is there a command or argument that downloads multiple files with same name without deleting the file(file with same name) using chrome headless in Selenium Python?
I want to download multiple files with same name without replacing any of them.How do i enable this in headless Chrome +Selenium+Python?

During download of executable of chrome extension getting Failed-Network error

I am creating a chrome extension. And as soon as user adds extension to chrome, new html page is opened and executable file downloaded to user machine. All needed files including exe takes part during packing process. But when I try to add extension, there is a problem with downloading exe: "Failed-Network error". Chrome acts my exe as a malicious software. How can I make my exe trustful?
This is part of Google's security measures as I found a blog post with regard to Chrome blocking exe files.

Cannot load extension with file or directory name _metadata

I get the .crx file of an extension name simulty in order to edit the source ( for personal use )
So i have follow all the steps :
get .crx
unzip .crx
Load in Google chrome extension
But when i try to load i have the same error " Cannot load extension with file or directory name _metadata "
There is a _metadata and a locales files in the directy and it seems that google chrome don't want to load it. Is there any way to take off the "" ... and load it ? I heard that its a google chrome bug...
Anybody find the solution ?
Or know any other way to edit the source of an chrome extension?
You can just delete the _metadata folder when loading an unpacked extension.
It contains cryptographic hashes of files to ensure they have not been modified. It is not expected to be present for an unpacked extension (it's automatically added by CWS when generating a crx), so just delete it.
I would also suggest editing the manifest to wipe update_url and key fields (if present), to completely dissociate with the original extension.

Run Chrome Extensions using command prompt

Is it possible to run a chrome extension from command line?
I need to automate the process for my software, and my software will need to run that extension with a particular parameter.
I am using a Chrome Extension 'APK Downloader' by Yogi. The Extension works like this:-
"If a page contains any .apk file link, then when I click on the extension's icon on the address bar, it starts direct download of that .apk file"
Now, I have my software that needs some .apk file to download [The software will have the package name of the .apk file to be downloaded, which is used by the extension to generate a download link]. It will be an automatic process. So, I need to know if it is possible to pass a parameter to the extension automatically, and make the extension to work without clicking on it.
Is it possible to do so??
Unpacked extension can be loaded using the --load-extension= flag.
What I usually do is chromium --user-data-dir=/tmp/someuniquedirname --load-extension=path/to/extension --no-first-run.
The --user-data-dir= flag is used to specify a non-default user data directory, to minimize conflicts between your existing browser profile and the test directory. You can omit this flag if you want to use your default user profile.
The --no-first-runflag prevents the first run UI from showing up (e.g. the bubble that explains how to use the omnibox, and a "Getting Started" page that opens in a new tab).
You can load multiple extensions by separating the paths by commas, e.g. chromium --load-extension=path/to/one/extension,path/to/another/extension.
I have published some shell scripts and a convenience extension to speed up (manual) testing of Chrome extensions. Take a look at https://github.com/Rob--W/extension-dev-tools/tree/master/chrome.
it helps to open extension normally and after that hit F12 (dev tools) to see actual url...
having that i can, for example load "Selenium IDE" chrome extension as
(run from command prompt)
"C:\Program Files (x86)\Google\Chrome\Application\new_chrome.exe" chrome-extension://mooikfkahbdckldjjndioackbalphokd/index.html
on a mac:
osascript <<EOD
set theURL to "chrome://extensions/"
tell application "Google Chrome"
if windows = {} then
make new window
set URL of (active tab of window 1) to theURL
else
make new tab at the end of window 1 with properties {URL:theURL}
end if
activate
end tell
EOD
Question answered here:
https://superuser.com/a/979678

Resources