รับข้อผิดพลาด“ ข้อความ: การอ้างอิงองค์ประกอบเก่า: องค์ประกอบไม่ได้แนบกับเอกสารหน้า” สิ่งที่ฉันทำผิด
Aug 19 2020
connections=driver.find_elements_by_css_selector("a span[class='mn-connection-card__name t-16 t-black t-bold']")
print(len(connections))
for connection in connections:
if connection.text == "XXX":
connection.click()
break
ฉันได้รับข้อผิดพลาดต่อไปนี้ในคำสั่ง if:
การอ้างอิงองค์ประกอบเก่า: องค์ประกอบไม่ได้แนบกับเอกสารหน้า
คำตอบ
1 rahulrai Aug 19 2020 at 22:02
ข้อยกเว้นขององค์ประกอบเก่าเกิดขึ้นเมื่อคุณสมบัติขององค์ประกอบที่สคริปต์ของคุณพยายามดำเนินการบางอย่างมีการเปลี่ยนแปลง หากคุณต้องการคลิกช่วงที่มีข้อความ "XXX" คุณสามารถคลิกได้โดยตรง:
WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//a[span[text()='XXX']]")))
หากความต้องการของคุณคือการวนซ้ำองค์ประกอบดังกล่าวทั้งหมด:
connections=driver.find_elements_by_css_selector("a span[class='mn-connection-card__name t-16 t-black t-bold']")
print(len(connections))
for i in range(len(connections)):
connections=driver.find_elements_by_css_selector("a span[class='mn-connection-card__name t-16 t-black t-bold']") #Created Fresh element list, so it wont be stale
if connections[i].text == "XXX"
connections[i].click
break