У меня есть список веб-элементов. Я бы хотел отсортировать его по алфавиту. Для типа данных веб-элементов не существует функции сортировки.
я получил следующее сообщение об ошибке, когда я попытался сортировать:Selenium Python можно сортировать список элементов в алфавитном порядке
Traceback (most recent call last):
File "C:\Webdriver\ClearCore Regression Test\ClearCore - Regression Test\TestCases\DataPreviewsPage_TestCase.py", line 375, in test_a2_sort_data_preview
print data_previews_page.compare_lists_2()
File "C:\Webdriver\ClearCore 501 Regression Test\ClearCore - Regression Test\Pages\data_previews.py", line 610, in compare_lists_2
sortedTable = DataPreviewsPage.column1_list_before_sort.sort() # This table holds the data previews name in sorted order of what it should be
AttributeError: 'NoneType' object has no attribute 'sort'
Мой фрагмент кода:
class DataPreviewsPage(BasePage):
column1_list_before_sort = None # This list will hold the data from col1 before ClearCore has done the sort. This list will then be sorted into ABC order. We can then use it to compare with the list after ClearCore has done the sort
def compare_lists_2(self):
sortedTable = DataPreviewsPage.column1_list_before_sort.sort() # This table holds the data previews name in sorted order of what it should be
sortedList = DataPreviewsPage.list_after_ClearCore_has_sorted # This compares the sort with the expected sort (expected sort = sortedTable)
for item in sortedTable:
print sortedTable[item]
print sortedList[item]
метод, который возвращает список веб-элементов:
def get_table_column_1_values_into_a_list_before_ClearCore_has_done_the_sort(self):
try:
WebDriverWait(self.driver, 20).until(EC.presence_of_element_located((By.ID, 'data_configuration_data_previews_ct_fields_body')))
table_id = WebDriverWait(self.driver, 20).until(EC.presence_of_element_located((By.ID, 'data_configuration_data_previews_ct_fields_body')))
rows = table_id.find_elements(By.TAG_NAME, "tr")
return [row.find_elements(By.TAG_NAME, "td")[1].text for row in rows] # returns the data preview name from col1 for each row
except NoSuchElementException, e:
print e
return False
Как могу ли я отсортировать список веб-элементов по алфавиту? Переменная web-элементов - "column1_list_before_sort", я бы хотел отсортировать ее.
Спасибо, Риаза
Мне удалось создать свой собственный компаратор. Благодаря, –