Используйте WebDriverWait
для обработки динамического элемента. Однако вам нужно дать некоторое время.sleep (1) после нажатия на кнопку, чтобы получить весь номер телефона.
condo_agency_home_phones = []
condo_agency_cell_phones = []
for condo in condos:
driver.get(condo)
try:
wait=WebDriverWait(driver,10)
element =wait.until(expected_conditions.element_to_be_clickable((By.XPATH,"//button[contains(text(),'broj')]")))
element.click()
time.sleep(1)
home_phone=wait.until(expected_conditions.element_to_be_clickable((By.XPATH,"(//span[@class='cell-number'])[1]")))
condo_agency_home_phones.append(home_phone.text)
wait1 = WebDriverWait(driver, 10)
element2 =wait1.until(expected_conditions.element_to_be_clickable((By.XPATH,"//button[contains(text(),'broj')]")))
element2.click()
time.sleep(1)
wait2 = WebDriverWait(driver, 10)
cell_phone=wait2.until(expected_conditions.element_to_be_clickable((By.XPATH,"(//span[@class='cell-number'])[2]")))
condo_agency_cell_phones.append(cell_phone.text)
except:
condo_agency_home_phones.append('NaN')
condo_agency_cell_phones.append('NaN')
print(condo_agency_home_phones,condo_agency_cell_phones)
Обратите внимание, что вам нужно использовать следующие операции импорта.
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium import webdriver
import time