Selenium:点击后窗口无法打开

时间:2017-07-31 14:55:46

标签: python selenium

我正在使用selenium 3.4.3和python 3.6.2,当我想打开一个新窗口时遇到问题。 首先,这里是代码失败的部分:

def wait_and_find_by_id(element_id):
    WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, element_id))
    )
    return driver.find_element_by_id(element_id)

VA = wait_and_find_by_id('VA_id')
driver.execute_script("window.showModalDialog = window.open;")
VA.click()

# Wait for the new window to open
time.sleep(2)
driver.switch_to_window(driver.window_handles[2])

tarifaire = driver.find_element_by_xpath("//*[@id='tarif_id']/span/span")
driver.execute_script("window.showModalDialog = window.open;")
tarifaire.click()

第一个窗口打开(VA.click())没有问题,但是当我尝试打开第二个窗口(tarifaire.click())时,窗口似乎刷新,没有其他任何事情发生。

我尝试在没有driver.execute_script的第二个实例的情况下运行脚本,并且窗口打开但是作为弹出窗口,只要我不关闭弹出窗口,我的程序就会停止。

如果您需要它,我可以为您提供更多信息。

更新:事实证明它适用于ChromeDriver,我甚至不必使用driver.execute_script。但是,如果有人知道为什么上面的脚本不适用于Firefox的Geckodriver,我很高兴听到它!

0 个答案:

没有答案