segmentio / daydream

A chrome extension to record your actions into a nightmare or puppeteer script
https://open.segment.com
2.77k stars 174 forks source link

Used to work great but not anymore #57

Open PManager1 opened 6 years ago

PManager1 commented 6 years ago

when i try to click buttons on a page, it doesn capture it..

Please help me I really need it to work

image

image

const Nightmare = require('nightmare') const nightmare = Nightmare({ show: true })

nightmare

.end() .then(function (result) { console.log(result) }) .catch(function (error) { console.error('Error:', error); }); restart

czechdave commented 6 years ago

Just tried it out in the latest chrome and no action ever gets captured

ChristosChristofidis commented 6 years ago

Did you solve this?

PManager1 commented 6 years ago

@ChristosChristofidis nope

czechdave commented 6 years ago

@ChristosChristofidis solved by deleting the plugin

ThomasDotCodes commented 6 years ago

Same issue here... I just installed the plugin for the first time on fresh install of chrome as well. Not sure if @czechdave is suggesting to delete and reinstall -- but that didn't have any effect.

danyalaytekin commented 6 years ago

For me, it depends on the site. For example it works on github.com but not www.bbc.co.uk/news.

zacharyabresch commented 6 years ago

Chiming in because I really want to use this plugin heavily, now, but it seems to be severely broken. Some environment details:

I've tried to use this on several sites (localhost projects, Github, Medium, Bugsnag) and I've only gotten it to record anything 2 times. Both were after restarting Chrome but now that isn't even working (on the same sites).

Is there anything else I can provide to assist in debugging this? Any workarounds to try? A fix in the pipeline?

zacharyabresch commented 6 years ago

Follow-up: The extension icon does highlight green when starting and turns black when stopping. I get the script pop-up but it contains the default, empty script. I can restart but no activity gets recorded.

const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true })

nightmare

.end()
.then(function (result) {
  console.log(result)
})
.catch(function (error) {
  console.error('Error:', error);
});
EvsWorld commented 6 years ago

Exact same for me El El jue, 31 may 2018 a las 0:09, Zachary Abresch notifications@github.com escribió:

Follow-up: The extension icon does highlight green when starting and turns black when stopping. I get the script pop-up but it contains the default, empty script. I can restart but no activity gets recorded.

const Nightmare = require('nightmare') const nightmare = Nightmare({ show: true })

nightmare

.end() .then(function (result) { console.log(result) }) .catch(function (error) { console.error('Error:', error); });

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/segmentio/daydream/issues/57#issuecomment-393335892, or mute the thread https://github.com/notifications/unsubscribe-auth/ANB2u4h1Oyrz3bhvxaauaC9Qm2t9fafUks5t3xiDgaJpZM4TtCMq .

-- Enviado desde un móvil

rschwabco commented 6 years ago

I'm also interested in having this plugin work again. I'm seeing it throws some errors when not on github.com (was able to make it work there). Is this project being actively worked on? If so, can this issue be escalated? It seems to make the extension unusable currently.

CarlosDomingues commented 6 years ago

Same issue, nothing gets captured besides typing.

MynockSpit commented 6 years ago

Hey guys, figured out the issue. The script that registers "events" doesn't start until after you go to a new page or refresh. Until this can get fixed, this should work:

  1. Start Daydream recording.
  2. Refresh the page or go to a new page using the same window/tab.
  3. Use as per normal.
zacharyabresch commented 6 years ago

WOW!!!! @MynockSpit you 🚀! I can confirm that this works. I tested it with a localhost domain, Github, & Google:

const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true })

nightmare
.goto('https://github.com/')
.click('.my-3 > .Box-body > .list-style-none > :nth-child(1) > .width-full > .mb-2 > :nth-child(2)')
.click('.reponav > :nth-child(2) > .js-selected-navigation-item')
.end()
.then(function (result) {
  console.log(result)
})
.catch(function (error) {
  console.error('Error:', error);
});
const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true })

nightmare
.goto('https://www.google.com/')
.type('#lst-ib', 'Daydream extension')
.click(':nth-child(8) > :nth-child(1) > .rc > .r > a')
.goto('https://github.com/segmentio/daydream')
.end()
.then(function (result) {
  console.log(result)
})
.catch(function (error) {
  console.error('Error:', error);
});

This seems like it could be a pretty straightforward fix but I've never peeked at the Daydream source so I really have no idea what the LOE would be. Either way, this is awesome and I'm gonna go automate all the things now.

BTW, I wouldn't consider this issue "closed" but that's really up to the repo owners.

zacharyabresch commented 6 years ago

There are still some serious issues with this extension picking up actions while navigating pages. Especially SPAs ... I rarely get more than one or two clicks before the tracking bails out. Pretty disappointing but hey, at least it's working so it's a step forward.

MynockSpit commented 6 years ago

Could be two things:

  1. Clicks are only currently registered on button and inputs. Maybe you have onClick on divs?
  2. goto takes a while to get registered -- seems like the page has to completely settle before it registers a goto.

And yeah, they're both pretty simple fixes. We just need someone to approve and merge PRs. :)

zacharyabresch commented 6 years ago

Good ideas, both. My testing was quick & dirty so I’ll spend a bit more time when I’ve got it.

interbiznw commented 6 years ago

Looks kinda unmaintained? Time to fork and get some fixes in motion https://github.com/interbiznw/daydream

lvl99 commented 5 years ago

Any news?