我试图在显式等待的帮助下单击 Group 名称,但是我每次都看到两个错误消息“ ElementClickInterceptedException”和“ NoSuchElementException”之一(即使我使用了ignore_exceptions) ),但是time.sleep()的幼稚方法效果很好,我知道这是一种不好的做法。有人可以帮助我进行明确的等待。
最糟糕的部分是错误消息之前,它甚至没有等待10秒。
我正在使用pytest框架。
代码如下:
def test_assignscans(driver):
eng_tab = driver.find_element_by_xpath("//p[contains(text(),'Engagements')]")
eng_tab.click()
# time.sleep(2)
wait = WebDriverWait(driver, 10, poll_frequency=1,
ignored_exceptions=
[NoSuchElementException,ElementClickInterceptedException])
group = wait.until(
EC.element_to_be_clickable((By.XPATH,
"//p[contains(text(),'Engagement111')]")))
group.click()
# time.sleep(2)
scan1 = driver.find_element_by_xpath("//span[text()='npm']")
scan1.click()
scan2 = driver.find_element_by_xpath("//span[text()='Retire']")
scan2.click()
scan3 =
driver.find_element_by_xpath("//span[text()='whitesource']")
scan3.click()
scan4 = driver.find_element_by_xpath("//span[text()='snyk']")
scan4.click()
assign_scan = driver.find_element_by_xpath("//i[@class='el-icon-
arrow-right']")
assign_scan.click()
# time.sleep(3)