Python Selenium:禁用元素类后停止循环
当前正在尝试循环浏览此网站上的所有页面:Python Selenium:禁用元素类后停止循环,python,selenium,Python,Selenium,当前正在尝试循环浏览此网站上的所有页面: 当它到达第53页(页面的末尾)时,即使没有更多的页面,它也会继续循环。我怎样才能使环路停止?我注意到元素class=“disabled”出现了 以下是我目前的代码: driver = webdriver.Chrome(ChromeDriverManager().install()) driver.implicitly_wait(10) driver.get('https://ephisahs.microsoftcrmportals.com/dis
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.implicitly_wait(10)
driver.get('https://ephisahs.microsoftcrmportals.com/disclaimer/restaurantinspections/south-facilities/')
dfs = []
page_counter = 0
while True:
wait = WebDriverWait(driver, 30)
wait.until(EC.visibility_of_all_elements_located((By.XPATH, "//tr[@data-name]")))
cards = driver.find_elements_by_xpath("//tr[@data-name]")
facilities = []
for card in cards:
name = card.find_element_by_xpath(".//td[@data-th='Unit Name']").text
street1 = card.find_element_by_xpath(".//td[@data-th='Site Street 1']").text
street2 = card.find_element_by_xpath(".//td[@data-th='Site Street 2']").text
site_city = card.find_element_by_xpath(".//td[@data-th='Site City']").text
site_prov = card.find_element_by_xpath(".//td[@data-th='Site Province/State']").text
site_code = card.find_element_by_xpath(".//td[@data-th='Site Postal Code/Zip Code']").text
site_fac = card.find_element_by_xpath(".//td[@data-th='Facility Category']").text
site_inspection = card.find_element_by_xpath(".//td[@data-th='Inspections Completed']").text
ref_link = card.find_element_by_xpath(".//td//a").get_attribute("href")
facilities.append([name, street1, street2, site_city,site_prov,site_code,site_fac,site_inspection,ref_link])
df = pd.DataFrame(facilities)
dfs.append(df)
print(page_counter)
page_counter+=1
try:
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a[aria-label='Next page']"))).click()
except:
break
driver.close()
driver.quit()
您只需检查文档中提到的
li
元素的类
is_disabled = "disabled" in element.get_attribute("class")
if is_disabled:
break
在target元素中为active=“active”。获取属性(“class”)
请粘贴代码段。您尝试了什么?