We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
headless_chrome = "1.0.7" rustc 1.71.1 (eb26296b5 2023-08-03)
I try to close tab tab.close().
tab.close()
fn test_headless_close() -> Result<()> { let launch_options = LaunchOptions::default_builder() .path(Some(default_executable().map_err(|e| anyhow!(e))?)) // .headless(false) .build()?; let browser = Browser::new(launch_options)?; let tab = browser.new_tab()?; tab.close(false)?; Ok(()) }
when .headless(false), this code works fine.
.headless(false)
but .headless(true), this code will block on tab.close() until timeout.
.headless(true)
I got some logs below.
2023-11-08T06:57:39.059130Z TRACE headless_chrome::browser: Target info changed: TargetInfo { target_id: "EF04033ED5930248F48CDBDA995350DF", Type: "page", title: "about:blank", url: "about:blank", attached: true, opener_id: None, can_access_opener: false, opener_frame_id: None, browser_context_id: Some("B11096F29DFB994D46AD1E29B2632687") } 2023-11-08T06:57:39.092790Z TRACE headless_chrome::browser::tab: Calling method: CloseTarget { target_id: "EF04033ED5930248F48CDBDA995350DF" } 2023-11-08T06:57:39.092900Z TRACE headless_chrome::browser::transport::waiting_call_registry: registered 17 2023-11-08T06:57:39.092923Z TRACE headless_chrome::browser::transport: Msg to tab: {"method":"Target.closeTarget","id":17,"params":{"targetId":"EF04033ED5930248F48CDBDA995350DF"}} 2023-11-08T06:57:39.092946Z TRACE headless_chrome::browser::transport::waiting_call_registry: registered 18 2023-11-08T06:57:39.154206Z TRACE headless_chrome::browser::transport: sent method call to browser via websocket 2023-11-08T06:57:39.154265Z TRACE headless_chrome::browser::transport: waiting for response from call registry: 18 "SendMessageToTarget { message: \"{\\\"method\\\":\\\"Target.closeTarget\\\",\\\"id\\\":17,\\\"params\\\":{\\\"targetId\\\":\\\"EF04033ED5930248F48CDBDA995350DF\\\"}}\", session_id: Some(\"127C64626FBA3464FBB6DE64E1593C66\"), target_id: None }" // diff 2023-11-08T06:57:39.154864Z TRACE headless_chrome::browser: Target info changed: TargetInfo { target_id: "EF04033ED5930248F48CDBDA995350DF", Type: "page", title: "about:blank", url: "about:blank", attached: false, opener_id: None, can_access_opener: false, opener_frame_id: None, browser_context_id: Some("B11096F29DFB994D46AD1E29B2632687") } 2023-11-08T06:57:39.155015Z TRACE headless_chrome::browser: Unhandled event: DetachedFromTarget(DetachedFromTargetEvent { param 2023-11-08T06:57:39.155133Z TRACE headless_chrome::browser: Target destroyed: "EF04033ED5930248F48CDBDA995350DF" 2023-11-08T06:57:39.156125Z TRACE headless_chrome::browser::transport::waiting_call_registry: Resolving call 2023-11-08T06:57:39.160459Z TRACE headless_chrome::browser::transport: received response for: 18 "SendMessageToTarget { message: \"{\\\"method\\\":\\\"Target.closeTarget\\\",\\\"id\\\":17,\\\"params\\\":{\\\"targetId\\\":\\\"EF04033ED5930248F48CDBDA995350DF\\\"}}\", session_id: Some(\"127C64626FBA3464FBB6DE64E1593C66\"), target_id: None }" 2023-11-08T06:57:39.160522Z TRACE headless_chrome::browser::transport: waiting for response from call registry: 17 "CloseTarget { target_id: \"EF04033ED5930248F48CDBDA995350DF\" }" // call.id 17 not Resolving
2023-11-08T07:02:46.514244Z TRACE headless_chrome::browser: Target info changed: TargetInfo { target_id: "78F6EF70E5CAC390202B2C843FD554C9", Type: "iframe", title: "chrome-untrusted://new-tab-page/one-google-bar?paramsencoded=", url: "chrome-untrusted://new-tab-page/one-google-bar?paramsencoded=", attached: false, opener_id: None, can_access_opener: false, opener_frame_id: None, browser_context_id: Some("535B81F83AEB785617916DE65A50A09B") } 2023-11-08T07:02:46.555259Z TRACE headless_chrome::browser::tab: Calling method: CloseTarget { target_id: "BCC7066DC07FF28A197BA3CD5ACC738D" } 2023-11-08T07:02:46.555319Z TRACE headless_chrome::browser::transport::waiting_call_registry: registered 22 2023-11-08T07:02:46.555335Z TRACE headless_chrome::browser::transport: Msg to tab: {"method":"Target.closeTarget","id":22,"params":{"targetId":"BCC7066DC07FF28A197BA3CD5ACC738D"}} 2023-11-08T07:02:46.555352Z TRACE headless_chrome::browser::transport::waiting_call_registry: registered 23 2023-11-08T07:02:46.712592Z TRACE headless_chrome::browser::transport: sent method call to browser via websocket 2023-11-08T07:02:46.712686Z TRACE headless_chrome::browser::transport: waiting for response from call registry: 23 "SendMessageToTarget { message: \"{\\\"method\\\":\\\"Target.closeTarget\\\",\\\"id\\\":22,\\\"params\\\":{\\\"targetId\\\":\\\"BCC7066DC07FF28A197BA3CD5ACC738D\\\"}}\", session_id: Some(\"871D2B61BDD94C235CB91D074C8048A1\"), target_id: None }" 2023-11-08T07:02:46.713102Z TRACE headless_chrome::browser::transport::waiting_call_registry: Resolving call 2023-11-08T07:02:46.713139Z TRACE headless_chrome::browser::transport::waiting_call_registry: Resolving call 2023-11-08T07:02:46.716324Z TRACE headless_chrome::browser::tab: Unhandled event: InspectorDetached(DetachedEvent { params: Detached 2023-11-08T07:02:46.719010Z TRACE headless_chrome::browser::transport: received response for: 23 "SendMessageToTarget { message: \"{\\\"method\\\":\\\"Target.closeTarget\\\",\\\"id\\\":22,\\\"params\\\":{\\\"targetId\\\":\\\"BCC7066DC07FF28A197BA3CD5ACC738D\\\"}}\", session_id: Some(\"871D2B61BDD94C235CB91D074C8048A1\"), target_id: None }" 2023-11-08T07:02:46.719062Z TRACE headless_chrome::browser::transport: waiting for response from call registry: 22 "CloseTarget { target_id: \"BCC7066DC07FF28A197BA3CD5ACC738D\" }" 2023-11-08T07:02:46.719075Z TRACE headless_chrome::browser::transport: received response for: 22 "CloseTarget { target_id: \"BCC7066DC07FF28A197BA3CD5ACC738D\" }" 2023-11-08T07:02:46.719095Z TRACE headless_chrome::browser::tab: Got result: Take { iter: Chars(['O', 'k', '(', 'C', 'l', 'o', 's', 'e', 'T', 'a', 'r', 'g', 'e', 't', 'R', 'e', 't', 'u', 'r', 'n', 'O', 'b', 'j', 'e', 'c', 't', ' ', '{', ' ', 's', 'u', 'c', 'c', 'e', 's', 's', ':', ' ', 't', 'r', 'u', 'e', ' ', '}', ')']), n: 70 }
in headless mode, closeTarget will case target Destroy make waiting_call_registry will not Resolving call then timeout.
closeTarget
waiting_call_registry
Resolving call
do you have any idea to solve this?
The text was updated successfully, but these errors were encountered:
I'm also having this issue. If I use tab.close_with_unload() then it doesn't hang. That uses Page.close instead of Target.closeTarget
tab.close_with_unload()
Page.close
Target.closeTarget
Sorry, something went wrong.
No branches or pull requests
headless_chrome = "1.0.7"
rustc 1.71.1 (eb26296b5 2023-08-03)
I try to close tab
tab.close()
.when
.headless(false)
, this code works fine.but
.headless(true)
, this code will block ontab.close()
until timeout.I got some logs below.
headless
with head (success)
in headless mode,
closeTarget
will case target Destroy makewaiting_call_registry
will notResolving call
then timeout.do you have any idea to solve this?
The text was updated successfully, but these errors were encountered: