小编use*_*400的帖子

python selenium“显式等待”框架

在同一页面同一步骤中,如果使用“wait”将收到错误消息“NoSuchElementException: Message: Unable to find element with name == rw”

如果使用“switch_to_frame”将成功切换框架..

为什么有不同?

1)

wait = WebDriverWait(driver, 300)
wait.until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_name('rw')))
Run Code Online (Sandbox Code Playgroud)

2)

driver.switch_to_frame('rw')
Run Code Online (Sandbox Code Playgroud)

3)

class cm(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Ie()
        self.driver.implicitly_wait(30)
        self.base_url = "http://mytestweb.com"


    def testcm(self):
        driver = self.driver
        driver.maximize_window()
        self.driver.get(self.base_url)
        wait = WebDriverWait(driver, 30)
        self.main_wh = driver.window_handles
##        wait.until(EC.invisibility_of_element_located((By.ID,'Frame2')))
        wait.until(EC.frame_to_be_available_and_switch_to_it((By.NAME,'rw')))
##        driver.switch_to_frame('rw')
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用 3) 将收到超时消息

python selenium

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×1

selenium ×1