Python شرح تسجيل الدخول في تويتر واضافة تغريدة

تم تحميل الصفحة في 1,7961740 ثانية
شرح تسجيل الدخول في تويتر واضافة تغريدة
إنضم
27 ديسمبر 2006
المشاركات
2,370
الإعجابات
1,517
النقاط
113
تضغط بالزر الايمن للفأرة على الحقل الخاص بكتابة اسم المستخدم
وتختار اداة Inspect Elements أو فحص العنصر.فيظهر لك السورس كود الخاص بالصفحة
تبحث عن الكلاس الذي تريده, كما في الشرح اسم الكلاس هو Js-username-Field وتضغط عليه بالزر الايمن وتختار نسخ Xpath


شكرا لك
بس جربت الكلام الي قلته لي بس اعتقد الـ xpath الي يطلع عندي غلط.
ممكن صوره من الـ xpath مالك بعد النسخ ؟
 
إنضم
27 ديسمبر 2006
المشاركات
2,370
الإعجابات
1,517
النقاط
113
شكرا لك
بس جربت الكلام الي قلته لي بس اعتقد الـ xpath الي يطلع عندي غلط.
ممكن صوره من الـ xpath مالك بعد النسخ ؟
تعقيبا للكلام اعلاه، هذا الكود بعد محاولة تطبيقه على المنتدى (جميع الحقوق محفوظه لصاحبها الاصلي :) )
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
 
import os
 
class WebSite():
 
    def SearchWebSite(self):
 
        self.userTwitter = '' # your username in Twitter
        self.passTwitter = '' # your password in Twitter
 
        self.webLocation = 'C:\Projects\webDriver\chromedriver.exe' # Program chromdriver.exe Browser
        os.environ["webdriver.chrome.webdriver"] = self.webLocation #
        self.driver = webdriver.Chrome(self.webLocation)
        self.driver.get('https://www.dev-point.com/vb/login/login') # url website
        self.username = self.driver.find_element(By.XPATH,'//*[@id="_xfUid-1-1545835663"]').send_keys(self.userTwitter)
        self.password = self.driver.find_element(By.XPATH,'//*[@id="_xfUid-2-1545835663"]').send_keys(self.passTwitter)
        self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="js-XFUniqueId119"]/div/div[2]/div/form/div[1]/dl/dd/div/div[2]/button/span').submit()
 
 
 
if __name__ == '__main__':
 
    ChormTest = WebSite()
    ChormTest.SearchWebSite()
 
إنضم
2 نوفمبر 2012
المشاركات
3,405
الإعجابات
2,872
النقاط
113
العمر
30
الإقامة
Algeria
إنضم
27 ديسمبر 2006
المشاركات
2,370
الإعجابات
1,517
النقاط
113
same problem -_-
Python:
Traceback (most recent call last):
  File "C:\Projects\webDriver\Main.py", line 26, in <module>
    ChormTest.SearchWebSite()
  File "C:\Projects\webDriver\Main.py", line 17, in SearchWebSite
    self.username = self.driver.find_element(By.XPATH,'//*[@id="_xfUid-1-1545850100"]').send_keys(self.userTwitter)
  File "C:\Users\mazin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
    'value': value})['value']
  File "C:\Users\mazin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\mazin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="_xfUid-1-1545850100"]"}
  (Session info: chrome=71.0.3578.98)
  (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17763 x86_64)
 
إنضم
27 ديسمبر 2006
المشاركات
2,370
الإعجابات
1,517
النقاط
113
Update:

السلام عليكم من جديد،،،

طبعاً المشكلة كانت ان الـ xPath يتغير كل مرة تخدل فيها للمنتدى فعلشان كذا كان يطلع عندي الخطأ
فقررت اني استخدم الـ By.NAME بدل من الـ By.XPATH . و النتيجة هي الكود التالي:

Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
 
import os
 
class WebSite():
 
    def SearchWebSite(self):
 
        self.username = '' # your username in Dev-Point
        self.password = '' # your password in Dev-Point
 
        self.webLocation = 'C:\Projects\webDriver\chromedriver.exe' # Program chromdriver.exe Browser
        os.environ["webdriver.chrome.webdriver"] = self.webLocation #
        self.driver = webdriver.Chrome(self.webLocation)
        self.driver.get('https://www.dev-point.com/vb/login/login') # url website
        self.usr = self.driver.find_element(By.NAME, 'login').send_keys(self.username)
        self.pswrd = self.driver.find_element(By.NAME, 'password').send_keys(self.password)
        self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[2]/div/div/div/form/div[1]/dl/dd/div/div[2]/button/span').submit()

if __name__ == '__main__':
 
    ChormTest = WebSite()
    ChormTest.SearchWebSite()

أشكر الاخ TITANIUMعلى المساعدة :)
 
إنضم
2 نوفمبر 2012
المشاركات
3,405
الإعجابات
2,872
النقاط
113
العمر
30
الإقامة
Algeria
Update:

السلام عليكم من جديد،،،

طبعاً المشكلة كانت ان الـ xPath يتغير كل مرة تخدل فيها للمنتدى فعلشان كذا كان يطلع عندي الخطأ
فقررت اني استخدم الـ By.NAME بدل من الـ By.XPATH . و النتيجة هي الكود التالي:

Python:
from selenium import webdriver
from selenium.webdriver.common.by import By

import os

class WebSite():

    def SearchWebSite(self):

        self.username = '' # your username in Dev-Point
        self.password = '' # your password in Dev-Point

        self.webLocation = 'C:\Projects\webDriver\chromedriver.exe' # Program chromdriver.exe Browser
        os.environ["webdriver.chrome.webdriver"] = self.webLocation #
        self.driver = webdriver.Chrome(self.webLocation)
        self.driver.get('https://www.dev-point.com/vb/login/login') # url website
        self.usr = self.driver.find_element(By.NAME, 'login').send_keys(self.username)
        self.pswrd = self.driver.find_element(By.NAME, 'password').send_keys(self.password)
        self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[2]/div/div/div/form/div[1]/dl/dd/div/div[2]/button/span').submit()

if __name__ == '__main__':

    ChormTest = WebSite()
    ChormTest.SearchWebSite()

أشكر الاخ TITANIUMعلى المساعدة :)
طريقة جميلة, يمكنك ايضا استعمال find_element_by_id
ويوجد غيرها من الطرق هنا
4. Locating Elements — Selenium Python Bindings 2 documentation
/
لا شكر على واجب
طبعا الحل كان من طرفك, أنا لم أفعل شيء:15:
بالتوفيق لك
 
إنضم
27 ديسمبر 2006
المشاركات
2,370
الإعجابات
1,517
النقاط
113

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,710
الإعجابات
2,161
النقاط
198
الإقامة
webs1.net
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
import os
class WebSite():
    def SearchWebSite(self):
        self.username = ''
        self.password = ''
        self.webLocation = 'C:\Projects\Gmail_API\chromedriver.exe'
        os.environ["webdriver.chrome.webdriver"] = self.webLocation
        self.driver = webdriver.Chrome(self.webLocation)
        self.driver.get('https://www.dev-point.com/vb/login/')
        self.usr = self.driver.find_element(By.NAME, 'login').send_keys(self.username)
        self.pswrd = self.driver.find_element(By.NAME, 'password').send_keys(self.password)
        self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[2]/div/div/div/form/div[1]/dl/dd/div/div[2]/button/span').submit()
        self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[2]/div[1]/div/div[3]/div/div/div[1]/div/div[3]/div[1]/a').click()
       
        self.Message = "هذي تجربة الدخول الى المنتدى ووضع رساله اعتذر على التأخير وهذا الكود "

        if self.Message:

            self.Msg = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[3]/div/div/form/div/div/div/div/div[2]/div/div[1]/div[2]/div').send_keys(self.Message)
            self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[3]/div/div/form/div/div/div/div/div[2]/div/div[3]/div[1]/button[1]/span').submit()



if __name__ == '__main__':
    ChormTest = WebSite()
    ChormTest.SearchWebSite()
واعتذر لقلة دخولي بالتوفيق للجميع
 
التعديل الأخير:

{MrVirus}

Beginner Developer
rank
إنضم
21 ديسمبر 2018
المشاركات
44
الإعجابات
44
النقاط
18
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
import os
class WebSite():
    def SearchWebSite(self):
        self.username = ''
        self.password = ''
        self.webLocation = 'C:\Projects\Gmail_API\chromedriver.exe'
        os.environ["webdriver.chrome.webdriver"] = self.webLocation
        self.driver = webdriver.Chrome(self.webLocation)
        self.driver.get('https://www.dev-point.com/vb/login/')
        self.usr = self.driver.find_element(By.NAME, 'login').send_keys(self.username)
        self.pswrd = self.driver.find_element(By.NAME, 'password').send_keys(self.password)
        self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[2]/div/div/div/form/div[1]/dl/dd/div/div[2]/button/span').submit()
        self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[2]/div[1]/div/div[3]/div/div/div[1]/div/div[3]/div[1]/a').click()
       
        self.Message = "هذي تجربة الدخول الى المنتدى ووضع رساله اعتذر على التأخير وهذا الكود "

        if self.Message:

            self.Msg = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[3]/div/div/form/div/div/div/div/div[2]/div/div[1]/div[2]/div').send_keys(self.Message)
            self.sumbit = self.driver.find_element(By.XPATH,'//*[@id="top"]/div[3]/div/div[3]/div/div/form/div/div/div/div/div[2]/div/div[3]/div[1]/button[1]/span').submit()



if __name__ == '__main__':
    ChormTest = WebSite()
    ChormTest.SearchWebSite()
@
عـبـدالـله

متى تكمل نشر على باقي المكتبات
والله كثير استفدت منك ومن الاخ
@
TITANIUM
 

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,710
الإعجابات
2,161
النقاط
198
الإقامة
webs1.net
@
عـبـدالـله

متى تكمل نشر على باقي المكتبات
والله كثير استفدت منك ومن الاخ
@
TITANIUM
ان شاء الله عن قريب بأذن الله راح اتكلم عن كثير من المكتبات لكن اشغال وارتباطات تبعدني عن الكميبوتر

اهم شيء انك استفدت

اتمنى لك التوفيق
 

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,710
الإعجابات
2,161
النقاط
198
الإقامة
webs1.net
ايضآ اذا كنت تريد ان تستوعب اغلب المكتبات للغة بايثون

تحتاج ان تستوعب الـ set , tuple, list , dict

اغلب او ليس اغلب كل المكتبات الخاصه بالبايثون تستخدم الامور التي ذكرتها
 

{MrVirus}

Beginner Developer
rank
إنضم
21 ديسمبر 2018
المشاركات
44
الإعجابات
44
النقاط
18
ايضآ اذا كنت تريد ان تستوعب اغلب المكتبات للغة بايثون

تحتاج ان تستوعب الـ set , tuple, list , dict

اغلب او ليس اغلب كل المكتبات الخاصه بالبايثون تستخدم الامور التي ذكرتها
اكيد اساسيات
لاكن اريد اطور من نفسي في اللغة
وحاليا جاي انزل الكورس الي حجمه 12GB
وماتقصر
 

ابو روضة

.:: إداري النقطة العامة ::.
rankrankrankrankrankrank
إنضم
28 أكتوبر 2012
المشاركات
3,781
الإعجابات
4,333
النقاط
223
الإقامة
القاهرة
جزاك الله كل الخيرات استاذ عبدلله...
سؤال لو تكرمت:-
هل ينفع الحصول فى نهاية عمل ما قولت حضرتك عليه هنا استخراج المشروع كملف تنفيذى دون فتح البراوزر
والشاشة السوداء أى يعمل فقط الملف التنفيذى exe ؟
أعتقد لو ينفع هذا يبقى هذه اللغة رهيبة بمعنى الكلمة
 

عـبـدالـله

.:: مُشرف قسم python ::.
rankrankrankrank
إنضم
5 ديسمبر 2013
المشاركات
1,710
الإعجابات
2,161
النقاط
198
الإقامة
webs1.net
اهلآ بك اخي العزيز ابو روضة

نعم ينفع عمل برنامج متكامل بPyQt5 لتصميم الواجهه واستخدام مكتبات
bs4, socket , sys , so ,regular
وربما لا نحتاج الى socket مكتبة bs4
تفي بالغرض
وعند الانتهاء تحويل المشروع الى ملف تنفيذي من خلال مكتبة PyInstaller
..
سبب بعدي لأنني مسافر لي شهرين بالخارج لكن ان شاء الله تتعدل الاوضاع ونرجع للبلد ونكمل معكم مع اجمل لغة برمجيه بالوقت الحالي .


مع بايثون لا يوجد مستحيل
 
الإعجابات: LÖWE

ابو روضة

.:: إداري النقطة العامة ::.
rankrankrankrankrankrank
إنضم
28 أكتوبر 2012
المشاركات
3,781
الإعجابات
4,333
النقاط
223
الإقامة
القاهرة
اهلآ بك اخي العزيز ابو روضة

نعم ينفع عمل برنامج متكامل بPyQt5 لتصميم الواجهه واستخدام مكتبات
bs4, socket , sys , so ,regular
وربما لا نحتاج الى socket مكتبة bs4
تفي بالغرض
وعند الانتهاء تحويل المشروع الى ملف تنفيذي من خلال مكتبة PyInstaller
..
سبب بعدي لأنني مسافر لي شهرين بالخارج لكن ان شاء الله تتعدل الاوضاع ونرجع للبلد ونكمل معكم مع اجمل لغة برمجيه بالوقت الحالي .


مع بايثون لا يوجد مستحيل
ترجع بألف سلامة استاذنا ربنا يحفظك...
أتمنى لما ترجع تعمل لنا شرح لهذا الأمر الله يكرمك..
 

Abdou.bin

Beginner Developer
إنضم
10 أبريل 2019
المشاركات
1
الإعجابات
0
النقاط
1
الإقامة
setif
السلام عليكم
آول مشاركة لي في المنتدى كانت من هنا
أرغب حقا في تعلم بايثون
وأشكر الأخ عبد الله على الدرس و الإبداع
و أتمنى أن لا يحرمنا من جديده
شكرا
 

ItsBlqck

Beginner Developer
rank
إنضم
14 أغسطس 2019
المشاركات
3
الإعجابات
1
النقاط
3
العمر
26
هل تفيد لغة البايثون في اختراق حسابات تويتر او انستقرام؟
 

ahmedseed77

Beginner Developer
rank
إنضم
16 مارس 2018
المشاركات
64
الإعجابات
49
النقاط
18
العمر
19
العفو اخي العزيز

اعتقد بنقطة تطوير لا يوجد من يهتم بلغة بايثون الا انا وانت فقط

لذالك سأتوقف عن اضافة مواضيع واذا احتجت اي مساعده او استفسار يكون بيني وبينك مراسله بالخاص

اخي ارجوا نشر دروس جديدة من فضلك لا تتوقف
لا اقول هذا كثيرا انت اول شخص
لكن انت فعلا تفيدني جدا في البايثون

و ايضا اخي لدي مشكلة و طلب
مشكلة الصور لا تظهر لي لا اعرف لماذا مثل صور هذا الموضوع

الطلب :
انا اقوم بانشاء بوت يسجل الدخول لانستقرام
لكن لاحظت ان انستقرام بدأ يحظر الحسابات

هل من طريقة لتفادي هذا ؟؟
 

47m3d

Beginner Developer
rank
إنضم
15 سبتمبر 2019
المشاركات
3
الإعجابات
2
النقاط
3
العمر
32
للأسف تواجهني مشكلة في تشغيل الكود مع الاستايل الجديد لتويتر
لان عند تشغيل الكود يفتح صفحة تويتر ويسجل الدخول ولكن لا يضيف التغريده اتوقع المشكلة في الانبوكس حق التغريدة وعند التشغيل يظهر الكود :

Python:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Una
ble to locate element: {"method":"xpath","selector":"//*[@id="tweet-box-home-tim
eline"]"}
ارجو المساعدة !
 

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل