Comments (17)
It would be great if this supported Chrome.
from browsh.
I'm actually most interested in Chrome's DOMSnapshot
API at the moment. It would restrict us to Chrome, but it could profoundly affect Browsh's rendering and performance. I made an issue for it: #390
from browsh.
This is low priority IMO. First iron out all problems on the firefox platform and when browsh becomes popular, other people will adapt it for other platforms such as Chrome.
from browsh.
I also want to see this with chromium, webextension can be used, but I think that browsh should support Selenium WebDriver, using that can add more browsers.
from browsh.
@msaffer I agree. But could you just give me your own reasons? Thanks.
from browsh.
Just having acquired a Raspberry Pi 3 B+, I'd say the Chrome/Chromium support would be nice, as a version of firefox supported by Browsh is very hard to install on RPi3 due to an issue with armhf and the later versions of Firefox (https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1711337).
from browsh.
+1 for chrome. Thanks. Chrome is the most popular. Even Microsoft has given up Edge/IE for chrome.
from browsh.
Can't we use any headless browser and inject a content script to every rendered web page?
from browsh.
In theory yes, but in reality there are some complicated hacks that make Browsh possible, like being able to screenshot the rendered page in order to detect the visibility of text.
from browsh.
Almost every headless browser allows to make a screenshot and access the DOM. Can't we use e.g. Playwright with multiple engines?
from browsh.
I was able to run Chromium (non-headless) with an extension using xvfb-run --server-args="-screen 0 1024x768x24" chromium-browser --remote-debugging-port=9222 --disable-gpu --load-extension=~/web-extension
and chrome-remote-interface:
Next we could try loading a modified Browsh web extension using --load-extension
.
from browsh.
Oh! Thanks for checking that out. So the screenshot needs to be available in code like this: https://github.com/browsh-org/browsh/blob/2f713f40fc87f5a3ca1ba15c469844c61f5f3fc6/webext/src/dom/graphics_builder.js
from browsh.
I can see you're using a deprecated Firefox-only drawWindow()
, can't we use a standard captureVisibleTab()
from background.js
or html2canvas from the content script?
from browsh.
It's been a long time since I checked the latest Firefox API, I think current Browsh is pinned to some really old version, like v67!
from browsh.
Can we unpin it and use a standard way to capture a tab, so it works in both Firefox and Chromium?
from browsh.
Sure, but we'd need to test that
from browsh.
Also I found this selenium webdriver client, it is for go. Browsh can use nodejs, but that would add more dependency, so here is the client.
I also found more dated webdriver clients.
Or Playwright with Playwright-Go.
Maybe that the browser can use selenium webdriver and if that is not available, then fall back playwright and then fall back to webextension.
from browsh.
Related Issues (20)
- Half of the webpage is gone (resolution issue?) when using --http-server-mode
- Can `browsh` reuse the profile of existing google chrome?
- can't select text && can't build project
- Feature request: Export to plain text file HOT 4
- Help with add a vimium extension
- Waiting for firefox to connect (windows) HOT 4
- E: input:0-28: error: Expected pattern
- Can't close the cookies banner in Twitch.tv
- ADD support for mouse forward and back buttons
- [Bug report] Windows: Waiting for Firefox to connect ... HOT 6
- Incredibly weird behavior on launch (MacOS) HOT 3
- [feature] json schema support HOT 2
- Multi instance - tab-less mode? HOT 1
- Ability to skip version check
- browsh_1.8.2_linux_amd64 crashes on Ubuntu 22.04.3 LTS HOT 5
- build_browsh.sh is missing
- 1.8.3 release assets still missing HOT 1
- Interfacer won't build HOT 5
- docker images fails to build
- ipv6 uri is readdressed to search
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from browsh.