New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not getting execution_id for frame #235
Comments
You better provide log, because it's hard to figure out without data |
Sorry, I don't want to public the page it's happening on and it's apparent it's caused by something specific it does as it works on other pages. (And it does a LOT of things. Including creating three frames despite only one being visible in DOM.) But looking into the source, I noticed that only way how execution_id can be filled is as reaction on Runtime.executionContextCreated ... and that one is never called ... |
I helpless here then. |
I'm getting the |
We have hit the same issue, It's easy to reproduce with the following spec: HEADLESS=false bundle exec rspec spec/frame_spec.rb Can we re-open this issue? I would be happy to provide any additional information for further investigation if needed. Thanks! |
@skyeagle can you show the error you are getting running the command you provided? |
Sure thing 1) Ferrum::Frame supports selection by index
Failure/Error: expect(frame.url).to end_with("/ferrum/slow")
NoMethodError:
undefined method `url' for nil:NilClass
# ./spec/frame_spec.rb:16:in There is chrome's version on Mac OS X M1
Thank you for taking a look! |
... I was running the browser in head-ful mode ... |
Also seeing issue when running Capybara / Cuprite tests in head-ful mode, fine in headless. test is using within_frame frame do block /Users/UpstilK/.rvm/gems/ruby-3.1.2/gems/ferrum-0.13/lib/ferrum/page.rb:414: warning: Capybara::Cuprite::Page#execution_id! at /Users/UpstilK/.rvm/rubies/ruby-3.1.2/lib/ruby/3.1.0/forwardable.rb:138 forwarding to private method NilClass#execution_id! NoMethodError: undefined method `execution_id!' for nil:NilClass
/Users/UpstilK/.rvm/rubies/ruby-3.1.2/lib/ruby/3.1.0/forwardable.rb:236:in |
I'm using chrome I found similar issue for puppeteer puppeteer/puppeteer#2548. Also there was a link to some chromium issue Looks like puppeteer implemented that change in this PR puppeteer/puppeteer#7556 but it would requires multiple changes in out case. So I also checked capybara and found that they use Right now my cuprit initialization looks like that
|
It should work now in the master as I merged work on |
Is there anything you can do with (i)frame not getting execution_id if, based on running the script with FERRUM_DEBUG=true, the Runtime.executionContextCreated never happens for that frame? Or is that chromium bug?
(Note: Found a workaround how to do what I needed without accessing frame, but I'm still interested ...)
The text was updated successfully, but these errors were encountered: