1.操作悬浮菜单和二级链接
from selenium.webdriver.common.action_chains import ActionChainsfrom selenium import webdriverdriver = webdriver.Firefox()#找到一级菜单元素,将鼠标移到上面Menu = driver.find_element_by_link_text("menu_name")ActionChains(driver).move_to_element(Menu).perform()#找到二级菜单元素,执行点击操作subMenu = driver.find_element_by_link_text("subMenu_name")subMenu.click()
2.操作日历控件
当日历控件(input)的属性readonly="true"时,不能直接对日历控件进行send_keys赋值。
通常方法是用js直接改变日历控件的value,然后webdriver调用js。
js获取页面元素的方法为getElementByID,当元素没有ID时,只能用className定位。。。。
#找到日历元素data1 = element.find_element_by_xpath("//tbody[@id='***']/tr[1]/td[3]/input")#使用js改变日历的valuejs = "document.getElementsByClassName('***')[0].value='2018-05-03';"#webdriver执行jsdriver.execute_script(js, data1)
3.操作下拉列表:select>option结构
方法1.定位select,然后通过tag name定义所有的option,通过数组索引定位
driver.find_element_by_id("select").find_elements_by_tag_name("option")[1].click();
方法2.定位select,然后通过xpath定位
driver.find_element_by_xpath("//select[@id='select']").find_element_by_xpath("//option[@value='value1']").click()