From dde373d87c1863d0b2b3be62e0e9d5d4d83c49db Mon Sep 17 00:00:00 2001 From: Mylloon Date: Mon, 15 May 2023 15:58:26 +0200 Subject: [PATCH] send the tweet --- bin/twitter.ml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/bin/twitter.ml b/bin/twitter.ml index 93f88d4..bd3ec39 100644 --- a/bin/twitter.ml +++ b/bin/twitter.ml @@ -134,7 +134,7 @@ let find_latest_tweet ctx = Some (List.fold_left max min_int datetimes) ;; -let tweet ctx _msg = +let tweet ctx msg = let tweet_button = match find ctx.session_id (XPath "//a[@data-testid='SideNav_NewTweet_Button']") with | [] -> raise (Any (fmt "Tweet button not found")) @@ -144,5 +144,24 @@ let tweet ctx _msg = else List.nth l 0 in click ctx.session_id tweet_button; + let tweet_area = + match find ctx.session_id (XPath "//div[@data-testid='tweetTextarea_0']") with + | [] -> raise (Any (fmt "Tweet button not found")) + | _ as l -> + if List.length l > 1 + then raise (Any "Too many tweet button found") + else List.nth l 0 + in + send_keys ctx.session_id tweet_area msg; + Unix.sleep 1; + let send_tweet_button = + match find ctx.session_id (XPath "//div[@data-testid='tweetButton']") with + | [] -> raise (Any (fmt "Send-tweet button not found")) + | _ as l -> + if List.length l > 1 + then raise (Any "Too many send-tweet button found") + else List.nth l 0 + in + click ctx.session_id send_tweet_button; Unix.sleep 4 ;;