问题
dropdown details
<select name="fromMonth">
<option value="1">January
</option><option value="2">February
</option><option value="3">March
</option><option value="4">April
</option><option value="5">May
</option><option value="6">June
</option><option value="7">July
</option><option value="8">August
</option><option selected="" value="9">September
</option><option value="10">October
</option><option value="11">November
</option><option value="12">December
</option></select>
I would like to print
January
February
so on...
回答1:
This will help:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
url='' //of webpage
driver.maximize_window()
driver.get(url)
listofelements=driver.find_elements(By.XPATH,'//*[@name="fromMonth"]/option') //to take all elements matching xpath
for i in range(len(listofelements)):
print(listofelements[i].text) //print all elements of list
回答2:
As per the HTML to print list of months present in dropdown you can use the following solution:
selectmonth = Select(driver.find_element_by_name('fromMonth'))
for option in selectmonth.options:
print(option.text)
回答3:
I think its "November"
instead of "No
enter code herevember"
In JAVA you can use like this, You can apply the same logic in Python
//locate select drop down
WebElement monthsElement = driver.findElement(By.name("fromMonth"));
// use select class
Select monthsDrop = new Select(monthsElement);
//store the list all months in list using getOptions()
List<WebElement> allmonths = monthsDrop.getOptions();
//traverse and print all elements
for (WebElement tempmonth : allmonths) {
System.out.println(tempmonth.getText());
}
回答4:
dropdown_data = driver.findElement(By.xpath("Xpath of the dropdown"))
# which selects the dropdown
for i in range len(dropdown_data):
print(dropdown_data[i].text)
来源:https://stackoverflow.com/questions/52435852/how-to-print-list-of-months-present-in-dropdown-list-using-selenium-python-with