【问题标题】:html5 canvas testing and selenium python bindingshtml5 画布测试和 selenium python 绑定
【发布时间】:2014-04-05 03:05:07
【问题描述】:

我有一个正在尝试测试的网络服务器。据我所知,它是用带有画布的 HTML5 编写的。如果您尝试查看登录页面的源代码,您看到的很少。如果您“检查元素”(使用 Chrome)并四处寻找,您会发现:

<form id="loginForm">

这就是我想使用 selenium 定位的内容。我正在使用 selenium python 绑定。因此,例如,我可以执行以下操作:

from selenium import webdriver    
browser = webdriver.Chrome()
browser.get("http://192.168.144.92:9000")
print(browser.title)
assert 'MyTitle' in browser.title
print(browser.title)

上面的代码一切正常。当我尝试找到登录表单时,我使用以下行:

x = browser.find_element_by_id('loginForm')

我得到一个标准异常:

selenium.common.exceptions.NoSuchElementException: Message: u'no such element\n

为什么我找不到这个表格?

【问题讨论】:

  • 更可能是时间问题
  • 我在调用对象上的方法之前进行了休眠,现在它工作正常。此外,我从访问表单切换到其数据输入字段。如果有意义的话,我可以回答我自己的问题....

标签: python html selenium canvas


【解决方案1】:

您需要切换到您的form 可能存在的iframe,然后找到您的input tag

#Will switch to the iframe
wait(browser, 10).until(EC.frame_to_be_available_and_switch_to_it("frame_id"))
#Locate your form
form = wait(browser, 10).until(EC.presence_of_element_located((By.ID, "loginForm"))) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 2014-02-04
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多