下午好,朋友们,对不起我的英语,我正在使用翻译器,我是巴西人,并且我的平台上的活跃用户数量不如这里。
我开发了使用Selenium和C#自动执行whatsapp消息的软件,基本上该软件使用for循环将消息(文本框)发送到每个数字(列表视图)。
仅在执行整个表单时挂起,我想执行并继续使用表单,甚至添加播放和暂停按钮,
我已经阅读了有关任务,离开,线程,异步的所有内容,但是我无法应用于我的代码,
这是我要在不破坏表单的情况下执行的按钮代码。
private void button1_Click_1(object sender, EventArgs e)
{
int contaErro;
contaErro = 0;
int contaAcerto;
contaAcerto = 0;
if (textBox4.Text != "") // verifica se tem foto/video selecionada
{
if (listView1.Items.Count > 0) // verifica se tem NUMERO NA LISTA
{
if (textBox3.Text != "") // verifica se tem mensagem escrita
{
if (driver.FindElements(By.XPath("//input[@class='jN-F5 copyable-text selectable-text']")).Count() != 0) // verifica se ja logou no whatsapp
{
for (int i = 0; i < listView1.Items.Count; i++)
{
IWebElement inptPesquisa = driver.FindElement(By.XPath("//input[@class='jN-F5 copyable-text selectable-text']")); // caixa de pesquisa
inptPesquisa.Click();
inptPesquisa.Clear();
inptPesquisa.SendKeys(listView1.Items[i].Text);
System.Threading.Thread.Sleep(1000); // tempo para carregar contato
if (driver.FindElements(By.XPath("//div[@class='_2wP_Y']")).Count() != 0) // verifica se o numero esta na lista
{
IWebElement selContato = driver.FindElement(By.XPath("//div[@class='_2wP_Y']")); // se tiver seleciona
selContato.Click();
}
else
{
contaErro += 1; // se nao conta na lista de erros
label4.Text = Convert.ToString(contaErro);
label4.Update();
continue; // pula para o proximo numero
}
label8.Text = Convert.ToString(listView1.Items[i].Text); // lê numero atual antes de enviar msg
label8.Update(); // informa o numero para a label
System.Threading.Thread.Sleep(200);
IWebElement inptAnexo = driver.FindElement(By.XPath("//div[contains(@role, 'button') and contains(@title, 'Anexar')]"));
inptAnexo.Click();
System.Threading.Thread.Sleep(200);
IWebElement inpFile = driver.FindElement(By.XPath("//input[@type='file']")); // carrega a imagem
inpFile.SendKeys(textBox4.Text);
System.Threading.Thread.Sleep(1000);
IWebElement cxTxt = driver.FindElement(By.XPath("//div[@class='_2S1VP copyable-text selectable-text']")); // carrega a imagem
cxTxt.Click();
cxTxt.Clear();
cxTxt.SendKeys(textBox3.Text);
System.Threading.Thread.Sleep(200);
IWebElement btnEnv = driver.FindElement(By.XPath("//div[contains(@role, 'button') and contains(@class, '_3hV1n yavlE')]"));
btnEnv.Click();
contaAcerto += 1; // se tudo deu ok conta acerto
label6.Text = Convert.ToString(contaAcerto); // escreve na label
label6.Update(); // atualiza ela
System.Threading.Thread.Sleep(Int32.Parse(textBox1.Text)); // delay entre mensagens
}
}
else
{
MessageBox.Show("FAÇA LOGIN NO WHATSAPP WEB", "CARREGUE O QRCODE",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
MessageBox.Show("ESCREVA UMA MENSAGEM", "Erro",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
MessageBox.Show("ADICIONE UM NUMERO A LISTA", "Erro",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
MessageBox.Show("ADICIONE UMA FOTO/VIDEO", "Erro",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
我知道这个问题有很多,但是我不能用他们的答案来解决我的情况