Πώς να επιλέξετε μια αναπτυσσόμενη τιμή στο Selenium WebDriver χρησιμοποιώντας Java

είμαι νέος στο selenium , προς το παρόν εργάζομαι στο selenium webdriver θέλω να επιλέξω μια τιμή από το drop down. Το id=periodId και η επιλογή είναι πολλές σε αυτό προσπαθώ να επιλέξω τις τελευταίες 52 εβδομάδες.

Εδώ είναι ο κώδικας HTML:

<select id="periodId" name="period" style="display: none;">
    <option value="l4w">Last 4 Weeks</option>
    <option value="l52w">Last 52 Weeks</option>
    <option value="daterange">Date Range</option>
    <option value="weekrange">Week Range</option>
    <option selected="" value="monthrange">Month Range</option>
    <option value="yeartodate">Year To Date</option>
</select>

Παρακαλώ προτείνετέ μου μερικούς τρόπους για να κάνω κλικ στο drop down.

Δοκίμασα με τις παραπάνω γραμμές του παραδείγματος αλλά λαμβάνω σφάλμα όπως Element is not currently visible and so may not be interacted with Διάρκεια εντολής ή χρονικό όριο: 32 χιλιοστά του δευτερολέπτου οι τιμές των drop downs είναι η μορφή του widget jquery multiselect.

Λύση

Απλά τυλίξτε το WebElement σας σε Select Object όπως φαίνεται παρακάτω

Select dropdown = new Select(driver.findElement(By.id("identifier")));

Μόλις γίνει αυτό μπορείτε να επιλέξετε την απαιτούμενη τιμή με 3 τρόπους. Σκεφτείτε ένα αρχείο HTML όπως αυτό




<select id = "designation">
MD
 Programmer 
 CEO 
Σχόλια (6)

Αν θέλετε να τα γράψετε όλα σε μία γραμμή δοκιμάστε

new Select (driver.findElement(By.id("designation"))).selectByVisibleText("Programmer ");
Σχόλια (0)

Δοκιμάστε αυτό:

driver.findElement(By.name("period")).sendKeys("Last 52 Weeks");
Σχόλια (0)