מבוא לסלניום בפייתון 3

Introduction Selenium Python 3



סלניום היא מסגרת המשמשת לבדיקת יישומי אינטרנט. סלניום הופך אוטומטית דפדפן, כגון Chrome או Firefox, להפעלת בדיקות באתר הרצוי. סלניום הוא גם כלי רב לגריפת אתרים. סלניום תומך ב- JavaScript ובכל תכונות הדפדפן המודרניות. כלי זה יעיל מאוד בהפקת מידע מאתרים.

מאמר זה יראה לך כיצד להגדיר סלניום בהפצת לינוקס שלך (כלומר אובונטו), כמו גם כיצד לבצע אוטומציה בסיסית וגריטת אתרים באמצעות ספריית סלניום פייתון 3.







תנאים מוקדמים

כדי לנסות את הפקודות והדוגמאות המשמשות במאמר זה, עליך לקבל את הדברים הבאים:



1) הפצת לינוקס (רצוי אובונטו) המותקנת במחשב שלך.
2) פייתון 3 מותקן במחשב שלך.
3) PIP 3 מותקן במחשב שלך.
4) דפדפן האינטרנט Google Chrome או Firefox המותקן במחשב שלך.



אתה יכול למצוא מאמרים רבים בנושאים אלה ב LinuxHint.com . הקפד לבדוק מאמרים אלה אם אתה זקוק לעזרה נוספת.





הכנת סביבת וירטואלית של פייתון 3 לפרויקט

הסביבה הווירטואלית של פייתון משמשת ליצירת ספריית פרויקטים מבודדת של פייתון. המודולים של Python שתתקין באמצעות PIP יותקנו בספריית הפרויקטים בלבד, ולא באופן גלובלי.

הפיתון וירטואלי מודול משמש לניהול סביבות וירטואליות של פייתון.



אתה יכול להתקין את ה- Python וירטואלי מודול גלובלי באמצעות PIP 3, כדלקמן:

$ sudo pip3 התקן virtualenv

PIP3 יוריד ויתקין ברחבי העולם את כל המודולים הנדרשים.

בשלב זה, הפייתון וירטואלי יש להתקין את המודול ברחבי העולם.

צור את ספריית הפרויקטים פיתון-סלניום-בסיסי/ בספריית העבודה הנוכחית שלך, כדלקמן:

$ mkdir -pv python-selenium-basic/drivers

נווט לספריית הפרויקטים החדשה שלך פיתון-סלניום-בסיסי/ , כדלהלן:

$CDפיתון-סלניום-בסיסי/

צור סביבה וירטואלית של פייתון בספריית הפרויקטים שלך באמצעות הפקודה הבאה:

$ וירטואליenv

כעת יש ליצור את הסביבה הווירטואלית של פייתון בספריית הפרויקטים שלך. '

הפעל את הסביבה הווירטואלית של פייתון בספריית הפרויקטים שלך באמצעות הפקודה הבאה:

מקור $.env/bin/activ

כפי שאתה יכול לראות, הסביבה הווירטואלית של פייתון מופעלת עבור ספריית הפרויקטים הזו.

התקנת ספריית סלטיום פייתון

ספריית ה- Selenium Python זמינה במאגר Python PyPI הרשמי.

תוכל להתקין ספרייה זו באמצעות PIP 3, כדלקמן:

$ pip3 להתקין סלניום

כעת יש להתקין את ספריית Python סלניום.

כעת, לאחר שהספרייה Selenium Python מותקנת, הדבר הבא שעליך לעשות הוא להתקין מנהל התקן אינטרנט עבור דפדפן האינטרנט המועדף עליך. במאמר זה, אראה לך כיצד להתקין את מנהלי ההתקנים של Firefox ו- Chrome עבור Selenium.

התקנת מנהל התקן Gecko של Firefox

מנהל ההתקן השמשיות של Firefox מאפשר לך לשלוט או להפוך את דפדפן האינטרנט של Firefox לאוטומטי באמצעות סלניום.

להורדת מנהלי ההתקן של Firefox Gecko בקר ב GitHub משחרר את דף mozilla/geckodriver מדפדפן אינטרנט.

כפי שאתה יכול לראות, v0.26.0 היא הגרסה העדכנית ביותר של מנהל ההתקן השממית של Firefox בזמן שנכתב מאמר זה.

כדי להוריד את מנהל ההתקן Gecko של Firefox, גלול מעט למטה ולחץ על ארכיון Linux geckodriver tar.gz, בהתאם לארכיטקטורת מערכת ההפעלה שלך.

אם אתה משתמש במערכת הפעלה של 32 סיביות, לחץ על geckodriver-v0.26.0-linux32.tar.gz קישור.

אם אתה משתמש במערכת הפעלה של 64 סיביות, לחץ על geckodriver-v0.26.0-linuxx64.tar.gz קישור.

במקרה שלי, אני אוריד את גירסת 64 סיביות של מנהל ההתקן השממית של Firefox.

הדפדפן שלך אמור לבקש ממך לשמור את הארכיון. בחר שמור את הקובץ ולאחר מכן לחץ על בסדר .

יש להוריד את ארכיון מנהלי ההתקנים של Firefox Gecko ב- ~/הורדות מַדרִיך.

חלץ את geckodriver-v0.26.0-linux64.tar.gz ארכיון מתוך ~/הורדות ספרייה אל נהגים/ ספריית הפרויקט שלך על ידי הזנת הפקודה הבאה:

$זֶפֶת -xzf~/הורדות/geckodriver-v0.26.0-linux64.tar.gzנהגים/

לאחר חילוץ ארכיון מנהלי ההתקנים של Firefox Gecko, חדש נהג שממית יש ליצור קובץ בינארי ב- נהגים/ ספריית הפרויקט שלך, כפי שאתה יכול לראות בצילום המסך למטה.

בדיקת נהג שממיות של סלניום פיירפוקס

בחלק זה, אראה לך כיצד להגדיר את סקריפט ה- Python הראשון של סלניום כדי לבדוק אם מנהל ההתקן של שממיות Firefox עובד.

ראשית, פתח את ספריית הפרויקטים פיתון-סלניום-בסיסי/ עם ה- IDE או העורך המועדפים עליך. במאמר זה אשתמש בקוד Visual Studio.

צור את סקריפט Python החדש ex01.py , והקלד את השורות הבאות בתסריט.

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות
מ זְמַן יְבוּאלִישׁוֹן
דפדפן=מנהל התקן אינטרנט.פיירפוקס(_path הפעלה='./drivers/geckodriver')
דפדפן.לקבל('http://www.google.com')
לִישׁוֹן(5)
דפדפן.לְהַפְסִיק()

לאחר שתסיים, שמור את ex01.py סקריפט פייתון.

אסביר את הקוד בחלק מאוחר יותר במאמר זה.

השורה הבאה מגדירה את Selenium לשימוש במנהל ההתקן Gecko של Firefox מתוך נהגים/ מדריך הפרויקט שלך.

כדי לבדוק אם מנהל ההתקן השמאי של Firefox עובד עם סלניום, הפעל את הפעולות הבאות ex01.py סקריפט פייתון:

$ python3 ex01.py

דפדפן האינטרנט Firefox צריך לבקר באופן אוטומטי ב- Google.com ולסגור את עצמו לאחר 5 שניות. אם זה קורה, מנהל התקן השממית Selenium Firefox עובד כראוי.

התקנת מנהל אתרים של Chrome

מנהל התקן האינטרנט של Chrome מאפשר לך לשלוט או להפוך את דפדפן האינטרנט של Google Chrome לאוטומטי באמצעות סלניום.

עליך להוריד את אותה גירסה של מנהל התקן האינטרנט של Chrome כמו של דפדפן האינטרנט שלך ב- Google Chrome.

כדי למצוא את מספר הגרסה של דפדפן האינטרנט שלך ב- Google Chrome, בקר בכתובת chrome: // הגדרות/עזרה בגוגל כרום. מספר הגרסה צריך להיות ב- מידע על Chrome כפי שניתן לראות בצילום המסך למטה.

במקרה שלי, מספר הגירסה הוא 83.0.4103.116 . שלושת החלקים הראשונים של מספר הגרסה ( 83.0.4103 , במקרה שלי) חייב להתאים לשלושת החלקים הראשונים של מספר הגירסה של מנהלי האינטרנט של Chrome.

כדי להוריד את מנהל ההתקן של Chrome, בקר בכתובת דף ההורדה הרשמי של מנהלי התקן של Chrome .

בתוך ה פרסומים שוטפים בסעיף, מנהל האתר של Chrome לגרסאות העדכניות ביותר של דפדפן האינטרנט של Google Chrome יהיה זמין, כפי שניתן לראות בצילום המסך למטה.

אם גירסת Google Chrome שבה אתה משתמש אינה מופיעה ב פרסומים שוטפים סעיף, גלול למטה מעט, וכדאי שתמצא את הגרסה הרצויה לך.

לאחר שתלחץ על הגירסה הנכונה של מנהל האינטרנט של Chrome, זה אמור להוביל אותך לדף הבא. הקלק על ה chromedriver_linux64.zip הקישור, כפי שצוין בצילום המסך למטה.

כעת יש להוריד את ארכיון מנהל האינטרנט של Chrome.

כעת יש להוריד את ארכיון מנהל האתר של Chrome ב- ~/הורדות מַדרִיך.

אתה יכול לחלץ את chromedriver-linux64.zip ארכיון מתוך ~/הורדות ספרייה אל נהגים/ ספריית הפרויקט שלך עם הפקודה הבאה:

$ לפתוח~/הורדות/chromedriver_linux64.רוכסןנהגים -d/

לאחר חילוץ ארכיון מנהלי האינטרנט של Chrome, חדש נהג כרום יש ליצור קובץ בינארי ב- נהגים/ ספריית הפרויקט שלך, כפי שאתה יכול לראות בצילום המסך למטה.

בדיקת מנהל התקן Selenium Chrome

בחלק זה, אראה לך כיצד להגדיר את סקריפט ה- Python הראשון של סלניום כדי לבדוק אם מנהל ההתקן של Chrome פועל.

ראשית, צור את סקריפט Python החדש ex02.py והקלד את שורות הקודים הבאות בתסריט.

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות
מ זְמַן יְבוּאלִישׁוֹן
דפדפן=מנהל התקן אינטרנט.כרום(_path הפעלה='./drivers/chromedriver')
דפדפן.לקבל('http://www.google.com')
לִישׁוֹן(5)
דפדפן.לְהַפְסִיק()

לאחר שתסיים, שמור את ex02.py סקריפט פייתון.

אסביר את הקוד בחלק מאוחר יותר במאמר זה.

השורה הבאה מגדירה את Selenium לשימוש במנהל ההתקן של Chrome מתוך נהגים/ מדריך הפרויקט שלך.

כדי לבדוק אם מנהל התקן האינטרנט של Chrome עובד עם סלניום, הפעל את ex02.py סקריפט פייתון, כדלקמן:

$ python3 ex01.py

דפדפן האינטרנט של Google Chrome אמור לבקר באופן אוטומטי ב- Google.com ולסגור את עצמו לאחר 5 שניות. אם זה קורה, מנהל התקן השממית Selenium Firefox עובד כראוי.

יסודות של גרידת אתרים עם סלניום

מעכשיו אני אשתמש בדפדפן האינטרנט של פיירפוקס. תוכל גם להשתמש ב- Chrome, אם תרצה.

סקריפט בסיסי של סלתיום פייתון אמור להיראות כמו התסריט המוצג בצילום המסך למטה.

ראשית, יבוא את סלניום מנהל התקן אינטרנט מ ה סֵלֶנִיוּם מודול.

לאחר מכן, ייבא את מפתחות מ מפתחות selenium.webdriver.common.keys . זה יעזור לך לשלוח לחיצות על מקשי מקלדת לדפדפן שאתה הופך אוטומטית מסלניום.

השורה הבאה יוצרת א דפדפן אובייקט לדפדפן האינטרנט של פיירפוקס באמצעות מנהל ההתקן של Gecko Firefox (Webdriver). אתה יכול לשלוט בפעולות דפדפן Firefox באמצעות אובייקט זה.

כדי לטעון אתר או כתובת אתר (אני טוען את האתר https://www.duckduckgo.com ), תתקשר ל לקבל() שיטת ה דפדפן אובייקט בדפדפן Firefox שלך.

באמצעות סלניום, אתה יכול לכתוב את הבדיקות שלך, לבצע גריטה באינטרנט ולבסוף לסגור את הדפדפן באמצעות לְהַפְסִיק() שיטת ה דפדפן לְהִתְנַגֵד.

למעלה הפריסה הבסיסית של סקריפט פייתון סלניום. אתה תכתוב שורות אלה בכל התסריטים שלך בסלניום פייתון.

דוגמה 1: הדפסת הכותרת של דף אינטרנט

זו תהיה הדוגמה הקלה ביותר שנדונה באמצעות סלניום. בדוגמה זו, נדפיס את כותרת דף האינטרנט בו נבקר.

צור את הקובץ החדש ex04.py והקלד בו את שורות הקודים הבאות.

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות

דפדפן=מנהל התקן אינטרנט.פיירפוקס(_path הפעלה='./drivers/geckodriver')

דפדפן.לקבל('https://www.duckduckgo.com')
הדפס('כותרת: %s'% דפדפן.כותרת)
דפדפן.לְהַפְסִיק()

לאחר שתסיים, שמור את הקובץ.

הנה ה browser.title משמש לגישה לכותרת דף האינטרנט שביקרת בו הדפס() הפונקציה תשמש להדפסת הכותרת במסוף.

לאחר הפעלת ex04.py סקריפט, הוא אמור:

1) פתח את Firefox
2) טען את דף האינטרנט הרצוי
3) תביא את כותרת הדף
4) הדפס את הכותרת בקונסולה
5) ולבסוף, סגור את הדפדפן

כפי שאתה יכול לראות, ex04.py התסריט הדפיס היטב את כותרת דף האינטרנט במסוף.

$ python3 ex04.py

דוגמה 2: הדפסת הכותרות של דפי אינטרנט מרובים

כמו בדוגמה הקודמת, באפשרותך להשתמש באותה שיטה כדי להדפיס את הכותרת של דפי אינטרנט מרובים באמצעות לולאת Python.

כדי להבין כיצד זה עובד, צור את סקריפט Python החדש ex05.py והקלד את שורות הקוד הבאות בתסריט:

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות

דפדפן=מנהל התקן אינטרנט.פיירפוקס(_path הפעלה='./drivers/geckodriver')


כתובות אתרים= ['https://www.duckduckgo.com', 'https://linuxhint.com', 'https://yahoo.com']
לurlבכתובות אתרים:
דפדפן.לקבל(url)
הדפס('כותרת: %s'% דפדפן.כותרת)
דפדפן.לְהַפְסִיק()

לאחר שתסיים, שמור את סקריפט Python ex05.py .

הנה ה כתובות אתרים רשימה שומרת את כתובת האתר של כל דף אינטרנט.

ל ל לולאה משמשת לאיטרציה דרך כתובות אתרים רשימת פריטים.

בכל איטרציה, סלניום אומר לדפדפן לבקר ב- url וקבל את כותרת דף האינטרנט. לאחר שחלץ סלניום את כותרת דף האינטרנט, הוא מודפס בקונסולה.

הפעל את סקריפט Python ex05.py , וכדאי שתראה את הכותרת של כל דף אינטרנט ב כתובות אתרים רשימה.

$ python3 ex05.py

זוהי דוגמה לאופן שבו סלניום יכולה לבצע את אותה משימה עם מספר דפי אינטרנט או אתרים.

דוגמה 3: חילוץ נתונים מדף אינטרנט

בדוגמה זו, אראה לך את היסודות של חילוץ נתונים מדפי אינטרנט באמצעות סלניום. זה ידוע גם בשם גרידת אתרים.

ראשית, בקר ב Random.org קישור מפיירפוקס. הדף אמור ליצור מחרוזת אקראית, כפי שניתן לראות בצילום המסך למטה.

כדי לחלץ את נתוני המחרוזת האקראיים באמצעות סלניום, עליך לדעת גם את ייצוג ה- HTML של הנתונים.

כדי לראות כיצד נתוני המחרוזת האקראיים מיוצגים ב- HTML, בחר את נתוני המחרוזת האקראיים ולחץ על לחצן העכבר הימני (RMB) ולחץ על בדוק את האלמנט (Q) , כפי שצוין בצילום המסך למטה.

ייצוג HTML של הנתונים צריך להיות מוצג ב- מְפַקֵחַ הכרטיסייה, כפי שניתן לראות בצילום המסך למטה.

אתה יכול גם ללחוץ על בדוק סמל ( ) לבדיקת הנתונים מהדף.

לחץ על סמל הבדיקה () והרחף מעל נתוני המחרוזת האקראיים שברצונך לחלץ. ייצוג HTML של הנתונים צריך להיות מוצג כמו קודם.

כפי שאתה יכול לראות, נתוני המחרוזת האקראיים עטופים ב- HTML ל tag ומכיל את המחלקה נתונים .

כעת, כאשר אנו יודעים את ייצוג ה- HTML של הנתונים שברצוננו לחלץ, ניצור סקריפט Python לחילוץ הנתונים באמצעות סלניום.

צור את סקריפט Python החדש ex06.py והקלד את שורות הקודים הבאות בתסריט

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות

דפדפן=מנהל התקן אינטרנט.פיירפוקס(_path הפעלה='./drivers/geckodriver')

דפדפן.לקבל('https://www.random.org/strings/?num=1&len=20&digits
= on & upperalpha = on & loweralpha = on & unique = on & format = html & rnd = new '
)

dataElement=דפדפן.find_element_by_css_selector('pre.data')
הדפס(dataElement.טֶקסט)
דפדפן.לְהַפְסִיק()

לאחר שתסיים, שמור את ex06.py סקריפט פייתון.

הנה ה browser.get () שיטה טוענת את דף האינטרנט בדפדפן Firefox.

ה browser.find_element_by_css_selector () method מחפש בקוד HTML של הדף רכיב ספציפי ומחזיר אותו.

במקרה זה, האלמנט יהיה נתונים מראש , ה ל תג בעל שם הכיתה נתונים .

מתחת נתונים מראש האלמנט מאוחסן ב- dataElement מִשְׁתַנֶה.

לאחר מכן התסריט מדפיס את תוכן הטקסט של הנבחר נתונים מראש אֵלֵמֶנט.

אם אתה מפעיל את ex06.py סקריפט Python, הוא אמור לחלץ את נתוני המחרוזת האקראיים מדף האינטרנט, כפי שניתן לראות בצילום המסך למטה.

$ python3 ex06.py

כפי שאתה יכול לראות, בכל פעם שאני מפעיל את ex06.py סקריפט פייתון, הוא מחלץ נתוני מחרוזת אקראיים שונים מדף האינטרנט.

דוגמה 4: חילוץ רשימת נתונים מדף אינטרנט

הדוגמה הקודמת הראתה לך כיצד לחלץ רכיב נתונים יחיד מדף אינטרנט באמצעות סלניום. בדוגמה זו, אראה לך כיצד להשתמש בסלניום לחילוץ רשימת נתונים מדף אינטרנט.

ראשית, בקר ב random-name-generator.info מדפדפן האינטרנט שלך ב- Firefox. אתר זה יפיק עשרה שמות אקראיים בכל פעם שתטען מחדש את הדף, כפי שאתה יכול לראות בצילום המסך למטה. מטרתנו היא לחלץ שמות אקראיים אלה באמצעות סלניום.

אם תבדוק את רשימת השמות מקרוב, תוכל לראות כי מדובר ברשימה מסודרת ( לָמוּת תָג). ה לָמוּת תג כולל גם את שם הכיתה רשימת שמות . כל אחד מהשמות האקראיים מיוצג כפריט רשימה ( ב תג) בתוך לָמוּת תָג.

כדי לחלץ שמות אקראיים אלה, צור את סקריפט Python החדש ex07.py והקלד את שורות הקודים הבאות בתסריט.

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות

דפדפן=מנהל התקן אינטרנט.פיירפוקס(_path הפעלה='./drivers/geckodriver')

דפדפן.לקבל('http://random-name-generator.info/')

רשימת שמות=דפדפן.find_elements_by_css_selector('ol.nameList li')

לשֵׁםברשימת שמות:
הדפס(שֵׁם.טֶקסט)

דפדפן.לְהַפְסִיק()

לאחר שתסיים, שמור את ex07.py סקריפט פייתון.

הנה ה browser.get () שיטה טוענת את דף האינטרנט של מחולל שמות אקראיים בדפדפן Firefox.

ה browser.find_elements_by_css_selector () שיטה משתמשת בבורר CSS ol.nameList לי כדי למצוא הכל ב אלמנטים בתוך לָמוּת תג בעל שם הכיתה רשימת שמות . שמרתי את כל הנבחר ב אלמנטים ב רשימת שמות מִשְׁתַנֶה.

ל ל לולאה משמשת לאיטרציה דרך רשימת שמות רשימה של ב אלמנטים. בכל איטרציה, התוכן של ב האלמנט מודפס על הקונסולה.

אם אתה מפעיל את ex07.py סקריפט פייתון, הוא יביא את כל השמות האקראיים מדף האינטרנט וידפיס אותו על המסך, כפי שניתן לראות בצילום המסך למטה.

$ python3 ex07.py

אם אתה מפעיל את הסקריפט בפעם השנייה, הוא אמור להחזיר רשימה חדשה של שמות משתמשים אקראיים, כפי שניתן לראות בצילום המסך למטה.

דוגמא 5: שליחת טופס - חיפוש ב- DuckDuckGo

דוגמה זו פשוטה בדיוק כמו הדוגמה הראשונה. בדוגמה זו, אבקר במנוע החיפוש DuckDuckGo ואחפש את המונח סלניום hq באמצעות סלניום.

ביקור ראשון מנוע החיפוש DuckDuckGo מדפדפן האינטרנט של פיירפוקס.

אם תבדוק את שדה קלט החיפוש, צריך להיות לו המזהה דף הבית של_חיפוש_טופס_קלט , כפי שניתן לראות בצילום המסך למטה.

כעת, צור את סקריפט Python החדש ex08.py והקלד את שורות הקודים הבאות בתסריט.

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות
דפדפן=מנהל התקן אינטרנט.פיירפוקס(_path הפעלה='./drivers/geckodriver')
דפדפן.לקבל('https://duckduckgo.com/')
searchInput=דפדפן.find_element_by_id('search_form_input_homepage')
searchInput.מפתחות שליחה('hq סלניום'+ מפתחות.להיכנס)

לאחר שתסיים, שמור את ex08.py סקריפט פייתון.

הנה ה browser.get () שיטה טוענת את דף הבית של מנוע החיפוש DuckDuckGo בדפדפן האינטרנט של פיירפוקס.

ה browser.find_element_by_id () שיטה בוחרת את רכיב הקלט עם המזהה דף הבית של_חיפוש_טופס_קלט ומאחסנת אותו ב searchInput מִשְׁתַנֶה.

ה searchInput.send_keys () שיטה משמשת לשליחת נתוני לחיצות מקשים לשדה הקלט. בדוגמה זו הוא שולח את המחרוזת סלניום hq ולחיצה על מקש Enter באמצעות Keys.ENTER קָבוּעַ.

ברגע שמנוע החיפוש DuckDuckGo מקבל את לחיצה על מקש Enter ( Keys.ENTER ), הוא מחפש ומציג את התוצאה.

הפעל את ex08.py סקריפט פייתון, כדלקמן:

$ python3 ex08.py

כפי שאתה יכול לראות, דפדפן האינטרנט Firefox ביקר במנוע החיפוש DuckDuckGo.

הוא הקליד אוטומטית סלניום hq בתיבת הטקסט לחיפוש.

ברגע שהדפדפן קיבל את לחיצה על מקש Enter ( Keys.ENTER ), היא הציגה את תוצאת החיפוש.

דוגמה 6: שליחת טופס ב- W3Schools.com

בדוגמה 5, הגשת טופס מנועי החיפוש של DuckDuckGo הייתה קלה. כל מה שהיית צריך לעשות זה ללחוץ על מקש Enter. אבל זה לא יהיה המצב לגבי כל הגשת הטפסים. בדוגמה זו, אראה לך טיפול בטפסים מורכב יותר.

ראשית, בקר ב דף טפסי HTML של W3Schools.com מדפדפן האינטרנט של פיירפוקס. לאחר טעינת הדף, תראה טופס לדוגמה. זו הטופס שנשלח בדוגמה זו.

אם תבדוק את הטופס, שם פרטי שדה הקלט צריך להכיל את המזהה fname , ה שם משפחה שדה הקלט צריך להכיל את המזהה lname , וה כפתור שלח צריך שיהיה סוּג שלח , כפי שניתן לראות בצילום המסך למטה.

כדי לשלוח טופס זה באמצעות סלניום, צור את סקריפט Python החדש ex09.py והקלד את שורות הקודים הבאות בתסריט.

מסֵלֶנִיוּםיְבוּאמנהל התקן אינטרנט
מסֵלֶנִיוּם.מנהל התקן אינטרנט.מְשׁוּתָף.מפתחות יְבוּאמפתחות
דפדפן=מנהל התקן אינטרנט.פיירפוקס(_path הפעלה='./drivers/geckodriver')
דפדפן.לקבל('https://www.w3schools.com/html/html_forms.asp')
fname=דפדפן.find_element_by_id('fname')
fname.ברור()
fname.מפתחות שליחה('שהרי')
lname=דפדפן.find_element_by_id('שם')
lname.ברור()
lname.מפתחות שליחה('שובון')
שלח כפתור=דפדפן.find_element_by_css_selector('input [type =' submit ']')
שלח כפתור.מפתחות שליחה(מפתחות.להיכנס)

לאחר שתסיים, שמור את ex09.py סקריפט פייתון.

הנה ה browser.get () שיטה פותחת את דף הטפסים של W3schools בדפדפן האינטרנט של פיירפוקס.

ה browser.find_element_by_id () שיטה מוצאת את שדות הקלט לפי המזהה fname ו lname וזה מאחסן אותם ב- fname ו lname משתנים, בהתאמה.

ה fname.clear () ו lname.clear () שיטות לנקות את שם פרטי ברירת המחדל (ג'ון) fname ערך ושם משפחה (איילה) lname ערך משדות הקלט.

ה fname.send_keys () ו lname.send_keys () סוג שיטות שהריאר ו שובון בתוך ה שם פרטי ו שם משפחה שדות קלט, בהתאמה.

ה browser.find_element_by_css_selector () השיטה בוחרת את כפתור שלח של הטופס ומאחסן אותו ב שלח כפתור מִשְׁתַנֶה.

ה submitButton.send_keys () השיטה שולחת את מקש Enter ( Keys.ENTER ) אל ה כפתור שלח של הטופס. פעולה זו שולחת את הטופס.

הפעל את ex09.py סקריפט פייתון, כדלקמן:

$ python3 ex09.py

כפי שאתה יכול לראות, הטופס נשלח אוטומטית עם התשומות הנכונות.

סיכום

מאמר זה אמור לעזור לך להתחיל בבדיקות דפדפן סלניום, אוטומציה באינטרנט וספריות לגריטת אתרים ב- Python 3. למידע נוסף, עיין ב תיעוד רשמי של סליית פייתון .