在学习用Python自动脚本测试时,运行报错:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".radio:nth-child(2) > .replace-word"}
但在selenium ide跟踪、运行时是完全没有问题。
self.driver.find_element(By.CSS_SELECTOR,
"#table-293026 .table-body .table_row:nth-child(1) > .table_cell:nth-child(2) > span").click()
self.driver.find_element(By.CSS_SELECTOR, ".content_page18 #cont_func_2 > .fontColor_1003").click()
self.driver.find_element(By.CSS_SELECTOR, ".radio:nth-child(2) > .replace-word").click()
self.driver.find_element(By.CSS_SELECTOR, ".submit").click()
逐步跟踪也没有发现问题,后来想到此程序点击按钮是要弹窗,是否窗口没有出现,脚本定位不了?决定增加延时,看看能否解决。
self.driver.find_element(By.CSS_SELECTOR,
"#table-293026 .table-body .table_row:nth-child(1) > .table_cell:nth-child(2) > span").click()
self.driver.find_element(By.CSS_SELECTOR, ".content_page18 #cont_func_2 > .fontColor_1003").click()
time.sleep(2) # 等待修改窗口显示
self.driver.find_element(By.CSS_SELECTOR, ".radio:nth-child(2) > .replace-word").click()
self.driver.find_element(By.CSS_SELECTOR, ".submit").click()
运行后,问题解决。——哈哈。