使用selenium时NoSuchElementException: Message: no such element: Unable to locate element:{...}

  在学习用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()

运行后,问题解决。——哈哈。

你可能感兴趣的:(selenium,测试工具,python)