Global Side Menu Width
Placeholder

לוקטורים ב-Selenium

איך למצוא Locators ב-Selenium דרך Inspect בדפדפן

כדי לכתוב אוטומציה יציבה עם Selenium, צריך לבחור Locators טובים (מזהים של אלמנטים).
הדרך הכי מהירה למצוא אותם היא דרך כלי המפתחים של הדפדפן: Inspect.


1) פתיחת Inspect (DevTools)

  • Chrome / Edge: קליק ימני על אלמנט בעמוד → Inspect
  • Firefox: קליק ימני → Inspect
  • קיצור מקשים נפוץ: F12 או Ctrl+Shift+I (ב-Mac: Cmd+Option+I)

2) איך לבחור אלמנט בעמוד

  1. ב-DevTools לחצו על אייקון ה-“סמן” (Select element).
  2. עברו עם העכבר על העמוד ולחצו על האלמנט שאתם רוצים לבדוק.
  3. האלמנט יסומן בלשונית Elements (HTML).

3) איזה Locators הכי מומלצים (סדר עדיפויות)

  • id – הכי יציב ומהיר, אם הוא ייחודי וקבוע.
  • name – טוב בעיקר לשדות טופס.
  • CSS Selector – בדרך כלל יציב וגמיש, מומלץ כשאין id.
  • XPath – להשתמש כשאין ברירה (נוטה להיות שביר אם הוא “עמוק”).

4) דוגמאות Locators מוכנים ל-Selenium (Java)

By.id

driver.findElement(By.id("loginButton")).click();

By.name

driver.findElement(By.name("email")).sendKeys("[email protected]");

By.cssSelector

driver.findElement(By.cssSelector("button[type='submit']")).click();

By.xpath

driver.findElement(By.xpath("//button[contains(.,'Login')]")).click();

5) איך לבדוק שה-Locator באמת עובד

ב-Chrome/Edge אפשר לבדוק Selectors ישירות:

  • CSS: ב-Console להריץ: document.querySelector("CSS_SELECTOR")
  • XPath: ב-Console להריץ: $x("XPATH")

טיפים ל-Locators יציבים

  • העדיפו מזהים קבועים (id / data-testid) על פני טקסט שמשתנה או אלמנטים תלויי עיצוב.
  • הימנעו מ-XPath ארוך שמבוסס על היררכיה עמוקה — שינוי קטן ב-HTML ישבור אותו.
  • אם יש לכם שליטה על הקוד, בקשו מהמפתחים להוסיף data-testid לאלמנטים חשובים.

ללימוד עמוק יותר: העתקו את הפרומט הבא ל-ChatGPT, הדביקו ושלחו.

אתה מומחה QA ואוטומציה. קראתי את המאמר הזה: https://qablog.co.il/locators-selenium/

תסביר לי בפשטות (אבל מדויק) איך למצוא Locators ב-Selenium דרך Inspect:
1) איך לפתוח DevTools/Inspect ואיך לבחור אלמנט בעמוד
2) איזה סוגי Locators קיימים ב-Selenium (id, name, cssSelector, xpath)
3) מה סדר העדיפויות המומלץ ולמה
4) תן דוגמאות קצרות ל-Java עבור כל Locator
5) איך לבדוק שה-Selector עובד ב-Console (querySelector / $x)

תשאל אותי עד 5 שאלות קצרות כדי להתאים את ההנחיות אליי (Chrome/Firefox/Edge, Windows/Mac, אתר/עמוד, האם יש id/data-testid, רמת ידע ב-Java).

מקורות רשמיים: