PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ربات وب



hamidj98
2019/05/02, 22:32
فرض کنید فایل اکسلی وجود دارد که تعداد زیادی شماره موبایل داخل آن قرار دارد و این شماره ها باید یک به یک در سامانه ای تحت وب وارد گردد و دکمه ثبت برای آن زده شود. آیا با زبان سی شارپ می توان این ربات را نوشت؟ سورس کد های آماده چنین رباتی یافت میشود؟ یا آموزشی برای آن وجود دارد؟

AmRo
2019/05/04, 11:43
میشه نوشت ولی ممکنه سایت ای پی شما رو بلاک کنه.
متد فرم ثبت شماره اون سامانه چطوریه؟ (POST یا GET)
اگه می تونی سورس html اون فرم رو اینجا بذار تا اگه شد یه نمونه برات درست کنم.

AmRo
2019/05/04, 12:44
یا با کتابخانه selenium می تونی یه ربات درست کنی. من یه مثال ساده درست کردم ببین به دردت میخوره:
برای استفاده از این کتابخانه مراحل زیر رو انجام بده:


افزودن selenium web driver به پروژه از طریق nuget
دانلود chrome driver (http://chromedriver.chromium.org/downloads) با توجه به نسخه مرورگر کرومی که رو سیستمتون نصب هست.
و استفاده از کدهای زیر

کد سی شارپ:


using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
namespace TestSeleniumWebDriver
{
public partial class Form1 : Form
{
private readonly IWebDriver _browser;
private readonly string _pageUrl;


public Form1()
{
_pageUrl = "http://127.0.0.1/seleniumlogin/";
_browser = new ChromeDriver("D:\\") {Url = _pageUrl};


InitializeComponent();
}


private async void SubmitButton_Click(object sender, EventArgs e)
{
var numbers = GetPhoneNumbers();


foreach (var number in numbers)
{
var numberInput = _browser.FindElement(By.Name("number-field"));
var submitButton = _browser.FindElement(By.Name("btn"));


numberInput.Clear();
numberInput.SendKeys(number);


await Task.Delay(1000);


submitButton.Click();
_browser.Navigate().GoToUrl(_pageUrl);
}
MessageBox.Show(@"Completed");
}


private static IEnumerable<string> GetPhoneNumbers()
{
return new List<string>()
{
"091000000000",
"091000004000",
"091000000008",
"091000040000",
"091000000000",
"091000060000",
"091000000770",
"091000007770",
};
}
}
}

کد فرم html:



<form action="action_page.php">
<div class="container">
<input type="text" placeholder="Enter phone number" name="number-field" required>
<button type="submit" name="btn">Submit</button>
</div>
</form>

خروجی:

http://uupload.ir/files/grjo_bot.gif