基础操作
点击事件:element.click()
el=wd.find_element(By.XPATH,'//a[@href="http://map.baidu.com"]')
el.click()
输入框事件:element.send_keys
element.clear() # 清除输入框已有的字符串
element.send_keys('白月黑羽') # 输入新字符串
获取元素文本内容:element.text
element = wd.find_element(By.ID, 'animal')
print(element.text)
获取元素属性:element.get_attribute('属性名')
element = wd.find_element(By.ID, 'input_name')
print(element.get_attribute('class'))
获取整个元素对应的HTML
element.get_attribute('outerHTML')#包括此元素
element.get_attribute('innerHTML')#不包括此元素
获取输入框里面的文字:element.get_attribute('value')
element = wd.find_element(By.ID, "input1")
print(element.get_attribute('value')) # 获取输入框中的文本
frame切换/窗口切换
wd.switch_to.frame('frame1') #根据id选择frame
wd.switch_to.frame('innerFrame') #根据name选择frame
wd.switch_to.frame(wd.find_element(By.TAG_NAME, "iframe")) #根据element选择frame
wd.switch_to.default_content() #回到主html
切换到新的窗口
wd.switch_to.window(handle)
wd有个window——handles列表对象保存着所有的窗口
for handle in wd.window_handles: # 先切换到该窗口
wd.switch_to.window(handle) # 得到该窗口的标题栏字符串,判断是不是我们要操作的那个窗口
if 'Bing' in wd.title: # 如果是,那么这时候WebDriver对象就是对应的该该窗口,正好,跳出循环,
break
选择框
radio 和checkbox框
element = wd.find_element(By.CSS_SELECTOR, '#s_radio input[checked=checked]')
print('当前选中的是: ' + element.get_attribute('value'))
wd.find_element(By.CSS_SELECTOR, '#s_radio input[value="小雷老师"]').click()
select 框
先导入select类 创建select对象
from selenium.webdriver.support.ui import Select
select = Select(wd.find_element(By.ID, "ss_single"))#创建对象
使用select类的方法进行勾选或取消 常见方法如下
select.select_by_value('a')# 勾选value为a的选项
select.select_by_index(1) #勾选次序为1的选项
select.select_by_visible_text('b') #勾选可见文本为b的选项
select.deselect_by_value('a')# 取消勾选value为a的选项
select.deselect_by_index(1) #取消勾选次序为1的选项
select.deselect_by_visible_text('b') #取消勾选可见文本为b的选项
select.deselect_all() #取消勾选所有选项