#python
#python
Вопрос:
elementItem1 = driver.find_element_by_xpath(xpathItem1)
elementItem2 = driver.find_element_by_xpath(xpathItem2)
elementItem3 = driver.find_element_by_xpath(xpathItem3)
elementItem4 = driver.find_element_by_xpath(xpathItem4)
elementItem5 = driver.find_element_by_xpath(xpathItem5)
elementItem6 = driver.find_element_by_xpath(xpathItem6)
elementItem7 = driver.find_element_by_xpath(xpathItem7)
elementItem8 = driver.find_element_by_xpath(xpathItem8)
elementItem9 = driver.find_element_by_xpath(xpathItem9)
elementItem10 = driver.find_element_by_xpath(xpathItem10)
list = [elementItem1, elementItem2, elementItem3, elementItem4, elementItem5, elementItem6, elementItem7, elementItem8, elementItem9, elementItem10]
patternForFindingListItem = r"some pattern"
for element in list:
element = element.text # get the text from each element in the list
match = re.search(patternForFindingListItem, element)
if match:
print(item)
element.click() # element.click() #AttributeError: 'str' object has no attribute 'click'.
Это связано с тем, что, например, elementItem2.text является строкой. Как мне снова вернуть его к элементу elementItem2, чтобы я мог выполнить над ним действие click()?
Ответ №1:
Вам не нужно переопределять переменную элемента, чтобы получить ее текст. Вы можете просто ввести element.text внутри функции поиска регулярных выражений или сохранить element.text внутри другой переменной.
for element in list:
match = re.search(patternForFindingListItem, element.text)
if match:
print(item)
element.click()