1. 什么情况下使用WebDriver
multiple frames, multiple brower windows(多窗口浏览器), popups(弹出窗口) adn alerts 页面导航 下拉 基于AJAX的UI元素
2. WebDriver常用函数接口
1)页面导航
driver.get("http://www.google.com")
完全装载页面后将控制返回给测试脚本。当页面中存在很多AJAX调用时,该接口无法确认页面是否完全加载,需要使用“waits”
2)与页面交互
<input type="text" name="passwd" id="passwd-id" />
driver = self.driver driver.find_element_by_id("passwd-id").send_keys("******") driver.find_element_by_xpath("//input[@id=’passwd-id’]")
关于xpath的知识,会在以后再去学习。
关于下拉框的处理(测试代码如下):
<select id="ShippingMethod" onchange="updateShipping(options[selectedIndex]);" name="ShippingMethod"> <option value="12.51">UPS Next Day Air ==> $12.51</option> <option value="11.61">UPS Next Day Air Saver ==> $11.61</option> <option value="10.69">UPS 3 Day Select ==> $10.69</option> <option value="9.03">UPS 2nd Day Air ==> $9.03</option> <option value="8.34">UPS Ground ==> $8.34</option> <option value="9.25">USPS Priority Mail Insured ==> $9.25</option> <option value="7.45">USPS Priority Mail ==> $7.45</option> <option value="3.20" selected="">USPS First Class ==> $3.20</option> </select>
使用select选择需要使用的值,如 8.34
select=browser.find_element_by_xpath("//select[@id='ShippingMethod']") select.find_element_by_xpath("//option[@value='8.34']").click()
先使用xpath定位所select,然后再确定使用的值