這是我的問題和代碼
問題。
- 幾乎第二個包裝器有一個按鈕(一些第二個包裝器有一個鏈接而不是按鈕)
- 為了避免僅包含鏈接或缺少按鈕的第二個包裝器,我創建了條件(var:button_check)和 if 陳述句。
- 但是,這些代碼通常有效,但是它總是停留在具有鏈接的包裝器上,然后拋出訊息:無法定位元素:div[role="button"]
def clicking_see_more(self) -> None:
wrappers = self.find_elements_by_css_selector('div[style="text-align: start;"]')
def button_click():
for i, wrapper in enumerate(wrappers):
if i % 2 == 1:
button_check = bool(wrapper.find_element_by_css_selector('div[role="button"]'))
if not button_check:
continue
else:
btn = wrapper.find_element_by_css_selector('div[role="button"]')
btn.click()
time.sleep(0.5)
try:
button_click()
except NoSuchElementException as e:
print(e)
uj5u.com熱心網友回復:
您應該使用find_elements_by_css_selector而不是find_element_by_css_selector,因為elements它將回傳一個串列,您可以檢查它的大小,如果它是>0那么元素必須存在。如果沒有,則元素不存在。
嘗試這個 :
def button_click():
for i, wrapper in enumerate(wrappers):
button_check = len (driver.find_elements_by_css_selector('div[role="button"]'))
if button_check == 0:
continue
else:
btn = driver.find_element_by_css_selector('div[role="button"]')
btn.click()
time.sleep(0.5)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324937.html
