selenium操作页面元素总结

1.操作悬浮菜单和二级链接

from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver

driver = 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改变日历的value
js = "document.getElementsByClassName('***')[0].value='2018-05-03';"

#webdriver执行js
driver.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()

  

 

  

原文地址:https://www.cnblogs.com/wanwanmom/p/9104202.html