【发布时间】:2012-04-07 01:44:55
【问题描述】:
我有这些包括:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
浏览器设置通过
browser = webdriver.Firefox()
browser.get(loginURL)
但有时我会这样做
browser.switch_to_frame("nameofframe")
而且它不起作用(有时会,有时不会)。
我不确定这是否是因为 Selenium 在执行其余代码之前实际上并没有等待页面加载或什么。有没有办法强制网页加载?
因为有时我会做类似的事情
browser.find_element_by_name("txtPassword").send_keys(password + Keys.RETURN)
#sends login information, goes to next page and clicks on Relevant Link Text
browser.find_element_by_partial_link_text("Relevant Link Text").click()
它在大多数情况下都能很好地工作,但有时我会收到一个错误,即它无法找到“相关链接文本”,因为它无法“看到”它或其他类似的东西。
另外,有没有更好的方法来检查元素是否存在?也就是最好的处理方式是什么:
browser.find_element_by_id("something")
该元素何时可能存在或可能不存在?
【问题讨论】:
标签: python selenium automation frames