c# Проблема автоматизации формы Selenium sendkeys random - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь создать бота, который может заполнять форму случайными значениями из формы входа на сайт Bidoo. Я могу отправлять ключи с помощью .SendKeys («ключи»), но я не могу отправлять их случайным образом. Я уже сделал работающий генератор случайных строк, но я не могу использовать его с автозаполнителем форм («Бот», который я пытаюсь создать). Я пробовал использовать IWebDriver и IWebElement, но когда я запускаю «Бот», он говорит, что не может найти XPath (если я пытаюсь использовать селектор CSS, идентификатор или класс, у меня такая же ошибка ). Спасибо за вашу помощь!

ВАЖНО: У МЕНЯ НЕТ ВООБЩЕ C# ОПЫТА!

У меня тоже есть эта проблема, поэтому спасибо, если вы ответите: Повторите задачу после ее завершения

Пользовательский интерфейс Bidoo BOT (button3 используется для генерации случайной строки)

Это код SendKeys () (рабочий код):

using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Interactions;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BidooBOT
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

//this is the bot
        private void button2_Click(object sender, EventArgs e)
        {
            if (radioChrome.Checked == true)
            {
                var driverchrome = new ChromeDriver();

                driverchrome.Navigate().GoToUrl(textBox1.Text);

                driverchrome.FindElementByXPath("//*[@id='email_signup']").SendKeys("email@gmail.com");

                driverchrome.FindElementByXPath("//*[@id='holdon']/div[1]/div/form/div[2]/input").SendKeys("password");

                driverchrome.FindElementByXPath("//*[@id='password_signup']").SendKeys("password");

                driverchrome.FindElementByXPath("//*[@id='holdon']/div[1]/div/form/div[4]/div/label/input").Click();

                driverchrome.FindElementByXPath("//*[@id='btnRegister']").Click();
            }

            else if (radioFirefox.Checked == true)
            {
                var driverfirefox = new FirefoxDriver();

                driverfirefox.Navigate().GoToUrl(textBox1.Text);

                driverfirefox.FindElementByXPath("//*[@id='email_signup']").SendKeys("email@gmail.com");

                driverfirefox.FindElementByXPath("//*[@id='holdon']/div[1]/div/form/div[2]/input").SendKeys("username");

                driverfirefox.FindElementByXPath("//*[@id='password_signup']").SendKeys("password");

                driverfirefox.FindElementByXPath("//*[@id='holdon']/div[1]/div/form/div[4]/div/label/input").Click();

                driverfirefox.FindElementByXPath("//*[@id='btnRegister']").Click();
            }
        }

//this is the random string generator (working)
        private void button3_Click(object sender, EventArgs e)
        {
            char[] letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".ToCharArray();
            Random random = new Random();
            string randomString = "";
            for (int i = 0; i < 10; i++)
            {
                randomString += letters[random.Next(0, 60)].ToString();
            }
            MessageBox.Show(randomString);
        }
    }
} ```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...