我有個問題。我使用該類在頁面上找到一個元素,并從那里顯示文本,然后split()反匯編,但是沒有元素時出現錯誤,它不決議。
代碼:
spans = driver.find_elements(By.XPATH, "//span[@class='ipsContained ipsType_break']")
for span in spans:
atag = span.find_element(By.XPATH, ".//a")
print(atag.get_attribute('href'))
urlik = atag.get_attribute('href')
driver.get(url=urlik)
time.sleep(2)
urla = driver.find_element(By.CLASS_NAME, "ipsPagination_pageJump").text
for page_number in range(int(urla.split()[3])):
page_number = page_number 1
driver.get(url=urlik f"page/{page_number}")
time.sleep(2)
imgs = driver.find_elements(By.CLASS_NAME, "cGalleryPatchwork_image")
for i in imgs:
driver.execute_script("arguments[0].scrollIntoView(true);", i)
time.sleep(0.2)
print(i.get_attribute("src"))
我需要檢查這個:
urla = driver.find_element(By.CLASS_NAME, "ipsPagination_pageJump").text
uj5u.com熱心網友回復:
要嘗試使用該類在頁面上查找元素并從那里顯示文本,而不管該元素是否存在,您可以將代碼包裝在處理NoSuchElementException的try-except{}塊中,如下所示:
driver.get(url=urlik)
time.sleep(2)
try:
urla = driver.find_element(By.CLASS_NAME, "ipsPagination_pageJump").text
for page_number in range(int(urla.split()[3])):
page_number = page_number 1
driver.get(url=urlik f"page/{page_number}")
time.sleep(2)
imgs = driver.find_elements(By.CLASS_NAME, "cGalleryPatchwork_image")
for i in imgs:
driver.execute_script("arguments[0].scrollIntoView(true);", i)
time.sleep(0.2)
print(i.get_attribute("src"))
except NoSuchElementException:
print("Element is not present")
uj5u.com熱心網友回復:
代替
urla = driver.find_element(By.CLASS_NAME, "ipsPagination_pageJump")
采用
urla = driver.find_elements(By.CLASS_NAME, "ipsPagination_pageJump")
if urla:
urla[0].text
find_elements方法回傳與傳遞的定位器匹配的 Web 元素串列。
因此,如果存在的此類元素urla將是非空串列,而非空串列在 Python 中被解釋為 Boolean True。
如果沒有找到匹配的元素urla將是一個空串列,而空串列在 Python 中被解釋為一個 Boolean False。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/452165.html
