PDA

View Full Version : کلیک روی دکمه در webbrowser



s_dastjani
دوشنبه 29 اسفند 1390, 20:26 عصر
سلام
میخواستم روی این 2 تا دکمه کلیک کنم
ممنون میشم کمک کنید
<input type="submit" name="addmeta" id="addmetasub" class="add:the-list:newmeta" value="افزودن زمینه‌ی دل‌خواه" tabindex="9" /><input type="button" class="button tagadd" value="افزودن" tabindex="3" />

فرید نجفلو
دوشنبه 29 اسفند 1390, 21:04 عصر
منظورتون شبیه سازی کلیک کردنه یا ...؟!

s_dastjani
دوشنبه 29 اسفند 1390, 21:31 عصر
نه
توی یه صفحه ی سایت میخوام کدی بنویسم که روی این دکمه ها کلیک کنه
شبیه این کد که برای کلیک روی submit فرمه
WebBrowser1.Document.Forms(0).InvokeMember("submit")

فرید نجفلو
دوشنبه 29 اسفند 1390, 21:54 عصر
یعنی می خوای این دکمه ها رو به صفحه اون سایت اضافه کنی ؟
یا بهتر توضیح بده؟

s_dastjani
دوشنبه 29 اسفند 1390, 22:13 عصر
نه
مثلا یه فرم دارم میخوام چندتا چیزی توی کادرش وارد کنم و این دکمه رو کلیک کنم
کد زیر توی فرمی که توی webbrowser وجود داره رشته هایی که توی تکست ها وجود داره رو میزاره و دکمه ارسال رو میکنه
الان روی این دکمه مشکل دارم چون توی صفحه ای که دارم چندتا فرم و چند تا دکمه وجود داره
میخوام روی دکمه هایی که کدهای html شون رو بالا گذاشتم کلیک کنه مثله این کدی که گذاشتم و خودش روی دکمه سابمیت توی صفحه کلیک میکنه


WebBrowser1.Document.GetElementById("name").SetAttribute("Value", TextBox1.Text)
WebBrowser1.Document.GetElementById("site").SetAttribute("Value", TextBox2.Text)
WebBrowser1.Document.GetElementById("email").SetAttribute("Value", TextBox3.Text)
WebBrowser1.Document.Forms(0).InvokeMember("submit")

arash020
سه شنبه 01 فروردین 1391, 01:31 صبح
سلام
روش های دیگه ای هست , چندتا مثال:

'-----------کلیک روی دکمه ورود---------
Dim btlogin As HtmlElement
btlogin = W.Document.GetElementById("btnSubmit")
btlogin.Focus()
SendKeys.Send("{ENTER}")

'--------------------

'************* ورود به بخش ایجاد پست جدید

Dim theElementCollection As HtmlElementCollection
Dim ctrlIdentity As String

theElementCollection = W.Document.GetElementsByTagName("a")

For Each curElement As HtmlElement In theElementCollection
ctrlIdentity = curElement.GetAttribute("innerText").ToString
' MessageBox.Show(curElement.GetAttribute("innerText").ToString)
If ctrlIdentity = "» پست مطلب جدید" Then
L5.Text = i & "-" & ctrlIdentity
curElement.InvokeMember("click")
curElement.InvokeMember("click")
End If
Next

'**********

Dim elementsInput2 As HtmlElementCollection = W2.Document.GetElementsByTagName("form")
For Each element2 As HtmlElement In elementsInput2
MessageBox.Show(element2.GetAttribute("action"))
W2.Navigate(element2.GetAttribute("action"))
Exit For
Next

s_dastjani
سه شنبه 01 فروردین 1391, 04:27 صبح
واقعا ممنون آرش جان
همون کد اولی رو گذاشتم لذت بردم

s_dastjani
سه شنبه 08 فروردین 1391, 17:44 عصر
سلام
یه مشکل دیگه دارم ممنون میشم دوستان کمک کنید
میخواستم روی دکمه های زیر مثلا
onclick="List_Page(2)" کلیک کنم
روی این دکمه ها که کلیک بشه صفحه رفرش نمیشه
کد کلیک کردنشو توی vb.net میخواستم





<style> .pagenf {text-align:center;} .pagenf a {-moz-border-radius: 0px;border: 1px solid #CCCCCC;padding:5px;padding-top:2px;padding-bottom:3px;margin-bottom: 4px;display: inline-block;background: url(http://rozblog.com/temp/music3/MTForumBlock_row_over.png);color:#999;} .pagenf a:hover {border-color:#666;color:#666;background-color: none;text-decoration: none;} .pagenf .current{padding:6px;padding-top:3px;padding-bottom:3px;color:#fff;border:1px solid gray;background:#CCC;} </style>
<div class="pagenf" style="direction:ltr"><center> <div class="pagination"><span style="cursor:pointer" onclick="List_Page(1)" class="current">1</span>
<a onclick="List_Page(2)" style="cursor:pointer">2</a><a onclick="List_Page(3)" style="cursor:pointer">3</a><a onclick="List_Page(4)" style="cursor:pointer">4</a>
<a onclick="List_Page(5)" style="cursor:pointer">5</a><a onclick="List_Page(6)" style="cursor:pointer">6</a><a onclick="List_Page(7)" style="cursor:pointer">7</a><a onclick="List_Page(8)" style="cursor:pointer">8</a><a onclick="List_Page(9)" style="cursor:pointer">9</a>...<a onclick="List_Page(2915)" style="cursor:pointer">2915</a><a onclick="List_Page(2916)" style="cursor:pointer">2916</a><a style="cursor:pointer" onclick="List_Page(2)" >»</a></div></center></div>

hakim22
سه شنبه 08 فروردین 1391, 22:36 عصر
من خودم برای برنامه های اتوماسیون کردن دیگر نرم افزارهای از AutoIt استفاده میکنم
اون خودش یک نرم افزار با یک زبان برنامه نویسی خیلی شبیه وی بی که رایگانه
ولی قسمت جالبش اینه که اگر به عنوان ریسورس به پروژت اضافه بشه کلی تابع راحت برای اتوماسیون کردن و شبیه سازی حرکت کاربر رو ویندوز داره که
کار کد نویسی رو خیلی کمتر میکنه و قابلیت های خیلی زیادی به کارت اضافه می کنه شایدم بتونی برای اینجور کارها ازش استفاده کنی

SHD.NET
شنبه 21 بهمن 1391, 14:45 عصر
یه سوال منم دارم : اینکه چجوری میشه روی یک دکمه ای که ID نداره کلیک کرد ؟؟

مثلا دکمه های توی قسمت کامنت گذاری وبلاگ ها ؟؟؟

ممنون میشم اگ راهنمایی کنید

SHD.NET
شنبه 21 بهمن 1391, 16:35 عصر
آقا یکی جواب بده !!! واجبه !!!

ممنون

SHD.NET
شنبه 21 بهمن 1391, 21:23 عصر
دوستان مشکلم حل شد ، خودم تونستم درستش کنم . ممنون

maryam145
چهارشنبه 29 مهر 1394, 10:33 صبح
خسته نباشین من ی برنامه ای نوشتم ک میخوام بیاد صفحه گوگل و بازکنه کلمه های کلیدی منو بندازه تو تکس باکس گوگل بدون اینکه من دکمه ای بزنم خودش یکی یکی کلمه ها رو بندازه صفحات پیداشده و بیاره درواقع برای سئو سایت هست ؟ کلمه ها رو اتوماتیک میاره تو تکس گوگل ولی سرچ نمیشه صفحاتی که اون کلمه ها هستن و نمیاره ؟؟ اینم کدهام:
public partial class Form1 : Form
{
string[] array;
string item;
int counter=1;
int index;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
array = new string[]{
"","محصولات ","دربازکن های صوتی وتصویری ",
"مانیتور " ,"پنل " ,"پنل تصویری " ,"پنل صوتی " ," سیستم حفاظتی " ,"دوربین " ,"دوربین تحت شبکه " ," دوربین های آنالوگ " ,
" دوربین های HD " ,"کنترل تردد " ,"درب های اتوماتیک " ,"درب پارکینگ " ,"پرده اتوماتیک " ,"لوازم خانگی " ,"جاروبرقی " ,"بخارشوی " ,"تبلت " ,
"انرژی و منبع تغذیه " ,"دستگاه های ضبط دیجیتال " ,"دزدگیر " ,"سیستم پلاک خوان خودرو " ,"قفل دیجیتال " ,
};
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
// counter++;
// if (counter >= 3)
// {
// if (index > array.Length)
// {
// index = 0;
// }
// counter = 0;
// index++;
HtmlDocument document = webBrowser1.Document;
HtmlElementCollection inputBoxes =this.webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement element in inputBoxes )
{
if (element.Name == "q")
{
element.SetAttribute("value", array[index]);
Thread.Sleep(3000);
document.Focus();
SendKeys.Send("{Enter}");
counter++;
if (counter >= 3)
{
if (index > array.Length)
{
index = 0;
}
counter = 0;
index++;
break;
// if (index >= array.Length)
// {
/// index = 0;
// }//
}
}
}
}
}