date change check working

This commit is contained in:
2025-11-16 12:29:47 +01:00
parent e6729b06b8
commit 2604caab0e

View File

@@ -109,7 +109,7 @@ async fn scrape_events(client: &fantoccini::Client) -> anyhow::Result<Vec<Econom
async fn main() -> anyhow::Result<()> { async fn main() -> anyhow::Result<()> {
let port = 9515; // pick a port you like let port = 9515; // pick a port you like
let mut chromedriver = start_chromedriver(port); let mut chromedriver = start_chromedriver(port);
sleep(Duration::from_secs(2)).await; // wait for ChromeDriver to start sleep(Duration::from_secs(1)).await; // wait for ChromeDriver to start
// Chrome options (non-headless so it opens) // Chrome options (non-headless so it opens)
let caps_value = serde_json::json!({ let caps_value = serde_json::json!({
@@ -161,7 +161,7 @@ async fn main() -> anyhow::Result<()> {
vec![] vec![]
).await; ).await;
for _ in 0..30 { for _ in 0..5 {
// Check if the iframe exists // Check if the iframe exists
let overlay_hidden: bool = client.execute( let overlay_hidden: bool = client.execute(
r#"(() => { r#"(() => {
@@ -185,6 +185,7 @@ async fn main() -> anyhow::Result<()> {
.unwrap_or(false); .unwrap_or(false);
if overlay_hidden { if overlay_hidden {
println!("Overlay hidden");
break; break;
} }
@@ -218,16 +219,30 @@ async fn main() -> anyhow::Result<()> {
}})() }})()
"#, start_date, end_date); "#, start_date, end_date);
let dates_set = client.execute(&set_dates_script, vec![]) // Execute JS to set dates and get the raw response
.await let _ = client.execute(&set_dates_script, vec![]).await;
.ok()
.and_then(|v| v.as_bool())
.unwrap_or(false);
if dates_set { // Give React time to process
println!("Dates set successfully from {} to {}", start_date, end_date); sleep(Duration::from_millis(500)).await;
// Now read the values
let from_date_value: String = client.execute(
r#"return document.querySelector('#dtTeletraderFromDate')?.value;"#,
vec![],
).await?.as_str().unwrap_or_default().to_string();
let to_date_value: String = client.execute(
r#"return document.querySelector('#dtTeletraderEndDate')?.value;"#,
vec![],
).await?.as_str().unwrap_or_default().to_string();
println!("From Date: {}", from_date_value);
println!("To Date: {}", to_date_value);
if from_date_value == start_date && to_date_value == end_date {
println!("Dates set correctly");
} else { } else {
println!("Failed to set dates"); println!("Date not set correctly");
} }
// Hide any reappearing overlay // Hide any reappearing overlay
@@ -247,7 +262,7 @@ async fn main() -> anyhow::Result<()> {
} }
// Wait a bit for the table to load // Wait a bit for the table to load
sleep(Duration::from_secs(2)).await; sleep(Duration::from_secs(1)).await;
// Find all table rows // Find all table rows
let rows = client.find_all(Locator::Css( let rows = client.find_all(Locator::Css(