Πώς να κάνετε κλικ στην εικόνα μέσα Selenium Πρόγραμμα οδήγησης Web
⚡ Έξυπνη Σύνοψη
Κάντε κλικ στην εικόνα στο Selenium Το WebDriver απαιτεί στρατηγικές επιλογής CSS ή XPath, επειδή τα στοιχεία εικόνας δεν εκθέτουν κείμενο συνδέσμου. Αυτό το άρθρο εξηγεί πώς να εντοπίσετε την εικόνα, να ενεργοποιήσετε την ενέργεια κλικ και να επαληθεύσετε ότι η πλοήγηση είναι επιτυχής.

Κάνοντας κλικ σε μια εικόνα σε Selenium Το WebDriver είναι μια συνηθισμένη εργασία όταν ένα εικονίδιο, λογότυπο ή μικρογραφία συμπεριφέρεται ως σύνδεσμος πλοήγησης. Επειδή οι εικόνες δεν φέρουν ορατό κείμενο, οι παραδοσιακοί εντοπιστές συνδέσμου-κειμένου αποτυγχάνουν και απαιτείται μια πιο αξιόπιστη στρατηγική επιλογής.
Πρόσβαση σε συνδέσμους εικόνας
Οι σύνδεσμοι εικόνας είναι άγκυρες σε ιστοσελίδες που αναπαρίστανται από μια εικόνα η οποία, όταν κάνετε κλικ σε αυτήν, μεταφέρει το πρόγραμμα περιήγησης σε διαφορετικό παράθυρο ή σελίδα.
Επειδή είναι εικόνες, δεν μπορούμε να χρησιμοποιήσουμε τις μεθόδους By.linkText() και By.partialLinkText() επειδή οι σύνδεσμοι εικόνας δεν έχουν καθόλου κείμενο συνδέσμου.
Σε αυτήν την περίπτωση, θα πρέπει να καταφύγουμε στη χρήση είτε του By.cssSelector είτε του By.xpath. Η πρώτη μέθοδος προτιμάται γενικά λόγω της απλότητας και της αναγνωσιμότητάς της.
Στο παρακάτω παράδειγμα, θα έχουμε πρόσβαση στο λογότυπο «Facebook» στο επάνω αριστερό τμήμα της σελίδας Ανάκτηση κωδικού πρόσβασης του Facebook.
Θα χρησιμοποιήσουμε το By.cssSelector και το χαρακτηριστικό "title" του στοιχείου για να αποκτήσουμε πρόσβαση στον σύνδεσμο εικόνας. Στη συνέχεια, θα επαληθεύσουμε ότι το πρόγραμμα περιήγησης έχει μεταφερθεί στην αρχική σελίδα του Facebook.
Java Code Παράδειγμα
Ο ακόλουθος Selenium Το απόσπασμα WebDriver εκκινεί το Chrome, ανοίγει τη σελίδα ανάκτησης κωδικού πρόσβασης του Facebook, κάνει κλικ στην εικόνα του λογότυπου του Facebook και επικυρώνει τον τίτλο της σελίδας που προκύπτει.
package newproject;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class MyClass {
public static void main(String[] args) {
String baseUrl = "https://www.facebook.com/login/identify?ctx=recover";
System.setProperty("webdriver.chrome.driver", "G:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get(baseUrl);
// click on the "Facebook" logo on the upper left portion
driver.findElement(By.cssSelector("a[title=\"Go to Facebook home\"]")).click();
// verify that we are now back on Facebook's homepage
if (driver.getTitle().equals("Facebook - log in or sign up")) {
System.out.println("We are back at Facebook's homepage");
} else {
System.out.println("We are NOT in Facebook's homepage");
}
driver.close();
}
}
Αποτέλεσμα
Καλυτερα Πρακτικές για Κλικ Εικόνων
Μερικές συνήθειες καθιστούν την αυτοματοποίηση κλικ σε εικόνες πιο αξιόπιστη σε όλα τα προγράμματα περιήγησης και τα μεγέθη οθονών.
- Προτιμήστε ένα σταθερό χαρακτηριστικό όπως title, alt, aria-label ή data-* αντί για βαθιά ενσωματωμένες διαδρομές CSS.
- Προσθέστε ένα ρητό WebDriverWait για το ElementToBeClickable πριν κάνετε κλικ.
- Για εικόνες που φορτώνονται αργά, κάντε κύλιση του στοιχείου στην προβολή με JavascriptΕκτελεστής πρώτα.
- Εάν μια διαφανής επικάλυψη παρεμποδίσει το κλικ, επιστρέψτε σε ένα JavaΤο σενάριο κάνει κλικ στο υποκείμενο στοιχείο.
- Επικυρώστε την πλοήγηση με την συνάρτηση driver.getTitle() ή με ένα μοναδικό στοιχείο στη σελίδα προορισμού.
Πώς η Τεχνητή Νοημοσύνη Βελτιώνει τις Στρατηγικές Εντοπισμού Εικόνων
Εργαλεία δοκιμών με τη βοήθεια τεχνητής νοημοσύνης, όπως TestimΟι , Mabl και Healenium αναλύουν το DOM γύρω από μια εικόνα και προτείνουν αυτοεπιδιορθούμενους εντοπιστές. Όταν ένα όνομα κλάσης ή ένα χαρακτηριστικό αλλάζει μετά από μια έκδοση, το πλαίσιο αλλάζει αυτόματα στην πιο σταθερή εναλλακτική, γεγονός που μειώνει τις ασταθείς αποτυχίες στην πλοήγηση που βασίζεται σε εικονίδια.
Οι μηχανικοί μπορούν επίσης να χρησιμοποιήσουν το ChatGPT ή το GitHub Copilot για να δημιουργήσουν αποσπάσματα WebDriver, να προτείνουν ισχυρές εκφράσεις CSS ή XPath για μια εικόνα και να σχεδιάσουν ισχυρισμούς για τη σελίδα που φορτώνει μετά το κλικ. Ο παραγόμενος κώδικας θα πρέπει να ελέγχεται για την ορθότητά του και για τον χειρισμό των αναμονών και των επικαλύψεων.
Συμπέρασμα
Κάνοντας κλικ στους συνδέσμους εικόνων σε Selenium Το WebDriver είναι απλό μόλις επιλέξετε έναν σταθερό εντοπιστή. Το By.cssSelector με το χαρακτηριστικό title ή alt είναι η πιο ευανάγνωστη προσέγγιση, το By.xpath είναι η εναλλακτική λύση όταν η σήμανση είναι αδέξια και οι σαφείς αναμονές καθιστούν το σενάριο αξιόπιστο σε όλες τις εκτελέσεις.

.png)
.png)