Whatsapp Web Selenium 使用 C# 发送消息,无需每次重新加载网页

问题描述 投票:0回答:1

我创建了一个项目,用于使用 Web Whatsapp 和 C# 代码中的 selenium 来自动化 Whatsapp 消息。它工作得很好,但每次加载新消息的 URL 时,如何停止重新加载页面并发送消息?

下面是我的代码,我有一个用于

loop
的所有号码,我正在为每个号码调用
SendMessage
方法。

private void SendMessage(string number, string message)
{
  driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); 

  driver.Navigate().GoToUrl("https://api.whatsapp.com/send?phone=" + number + "&text=" + Uri.EscapeDataString(message));

  driver.FindElement(By.Id("action-button")).Click(); 

  driver.FindElement(By.CssSelector("button._2lkdt>span")).Click();
}
c# selenium whatsapp
1个回答
0
投票
// Get search box
var SearchBox = WebDriver.FindElements(By.XPath("//*[@id='side']/div[1]/div/div/div[2]/div/div[1]/p")).SingleOrDefault();
if (SearchBox != null)
{
    // Click and type the mobile number, then press the enter key
    SearchBox.Click();
    SearchBox.SendKeys("MobileNumber");
    SearchBox.SendKeys(Keys.Enter);

    // Get message box
    var MessageBox = WebDriver.FindElements(By.XPath("//*[@id='main']/footer/div[1]/div/span[2]/div/div[2]/div[1]/div[2]/div[1]/p")).SingleOrDefault();
    if (MessageBox != null)
    {
        // Type message to send, and click send button
        MessageBox.SendKeys("TextMessage");
        WebDriver.FindElement(By.XPath("//*[@id='main']/footer/div[1]/div/span[2]/div/div[2]/div[2]/button/span")).Click();
    }
    // Messag sent
}
© www.soinside.com 2019 - 2024. All rights reserved.