[Only registered and activated users can see links. Click Here To Register...]Quote:
== nicht = ;)
[Only registered and activated users can see links. Click Here To Register...]Quote:
== nicht = ;)
Ups, als das nicht ging hab ich es wieder zurück geändert. Daran lag es!Quote:
Hört sich danach an, als würden die Klammern immer noch fehlen.
Das ToString() sollte aber sowieso unnötig sein.
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;
using System.Threading;
namespace FBGroupJoiner
{
public partial class Form1 : Form
{
//string path;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("email").InnerText = textBox1.Text;
webBrowser1.Document.GetElementById("pass").InnerText = textBox2.Text;
label4.Text = "Login..";
webBrowser1.Document.GetElementById("loginbutton").InvokeMember("click");
Thread.Sleep(1000);
label4.Text = "Navigiere zur Gruppe..";
webBrowser1.Navigate("https://www.facebook.com/groups/268154400034569/?fref=ts");
label4.Text = "Tritt der Gruppe bei..";
Thread.Sleep(1000);
HtmlElementCollection theElementCollection = default(HtmlElementCollection);
theElementCollection = webBrowser1.Document.GetElementsByTagName("a");
foreach (HtmlElement curElement in theElementCollection)
{
if (curElement.GetAttribute("className").ToString() == "mrm _42ft _4jy0 _39__ _4jy4 _517h")
{
webBrowser1.Navigate(curElement.GetAttribute("ajaxify"));
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://de-de.facebook.com");
Thread.Sleep(2000);
}
private void button2_Click(object sender, EventArgs e)
{
//openFileDialog1.ShowDialog();
//path = openFileDialog1.FileName;
//textBox3.Text = path;
}
}
}
if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
{
MessageBox.Show("Fertig");
}
Okay das überfordert mich jetzt. Soweit bin ich noch nicht mit C# :D.Quote:
Also du machst ne neue Funktion die das Gruppe Beitreten ausführt. Dann nimmst nen Timer und prüfst bei jedem tick ob der Webbrowser fertig geladen hat. Wenn ja dann führst du die Funktio aus, wenn nicht eben nicht. Und den Timer dann einfach unendlich loopen lassen / bis er das erste mal der Gruppe beigetreten ist.
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("email").InnerText = textBox1.Text;
webBrowser1.Document.GetElementById("pass").InnerText = textBox2.Text;
label4.Text = "Login..";
webBrowser1.Document.GetElementById("loginbutton").InvokeMember("click");
Thread.Sleep(1000);
label4.Text = "Navigiere zur Gruppe..";
webBrowser1.Navigate("https://www.facebook.com/groups/268154400034569/?fref=ts");
label4.Text = "Tritt der Gruppe bei..";
Thread.Sleep(1000);
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
{
timer1.Enabled = false;
HtmlElementCollection theElementCollection = default(HtmlElementCollection);
theElementCollection = webBrowser1.Document.GetElementsByTagName("a");
foreach (HtmlElement curElement in theElementCollection)
{
if (curElement.GetAttribute("className").ToString() == "mrm _42ft _4jy0 _39__ _4jy4 _517h")
{
webBrowser1.Navigate(curElement.GetAttribute("ajaxify"));
}
}
}
}
Macht der Timer dann "Thread.Sleep" überflüssig?Quote:
Sollte gehen o: Nicht vergessen nen Timer auf die Form zu ziehen / einen per Code zu erstellenCode:private void button1_Click(object sender, EventArgs e) { webBrowser1.Document.GetElementById("email").InnerText = textBox1.Text; webBrowser1.Document.GetElementById("pass").InnerText = textBox2.Text; label4.Text = "Login.."; webBrowser1.Document.GetElementById("loginbutton").InvokeMember("click"); Thread.Sleep(1000); label4.Text = "Navigiere zur Gruppe.."; webBrowser1.Navigate("https://www.facebook.com/groups/268154400034569/?fref=ts"); label4.Text = "Tritt der Gruppe bei.."; Thread.Sleep(1000); timer1.Enabled = true; } private void timer1_Tick(object sender, EventArgs e) { if (webBrowser1.ReadyState == WebBrowserReadyState.Complete) { timer1.Enabled = false; HtmlElementCollection theElementCollection = default(HtmlElementCollection); theElementCollection = webBrowser1.Document.GetElementsByTagName("a"); foreach (HtmlElement curElement in theElementCollection) { if (curElement.GetAttribute("className").ToString() == "mrm _42ft _4jy0 _39__ _4jy4 _517h") { webBrowser1.Navigate(curElement.GetAttribute("ajaxify")); } } } }
private void timer1_Tick(object sender, EventArgs e)
{
webBrowser1_DocumentCompleted();
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
//This line is so you only do the event once
if (e.Url != webBrowser1.Url)
{
return;
}
else
{
timer1.Enabled = false;
HtmlElementCollection theElementCollection = default(HtmlElementCollection);
theElementCollection = webBrowser1.Document.GetElementsByTagName("a");
foreach (HtmlElement curElement in theElementCollection)
{
if (curElement.GetAttribute("className").ToString() == "mrm _42ft _4jy0 _39__ _4jy4 _517h")
{
webBrowser1.Navigate(curElement.GetAttribute("ajaxify"));
}
}
}
}