新来的…学了2天了
在学习管理系统中,有一个元素(加号图标)需要点击,每次点击都会添加一个表单字段。目标是单击图标,生成一个新字段,然后将文本放入新字段中。当页面加载时,这个字段不存在…它是根据点击图标动态添加的。
当我尝试使用"driver.find_element_by_*"(已经尝试了ID, Name和xpath),我得到一个错误,它找不到。我认为这是因为页面加载时它不在那里。有什么办法解决这个问题吗?
顺便说一下,我已经成功地编写了登录过程的脚本,并通过网站导航到这一点。所以,我实际上已经学会了如何找到其他静态元素。如果我需要提供更多的信息或更好的描述,请告诉我。
谢谢,比尔
显然我需要有耐心,让事情发生…
我补充说:进口时间
然后:
time . sleep (3)
之后点击图标添加字段。这是工作!
您可以使用time.sleep(3),但这会迫使您在使用该元素之前等待整整3秒。在Selenium中,我们使用webdriver wait来轮询DOM,以允许我们在该元素可用时尽可能快地立即使用它。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,""))).click()