selenium—
详细网址:http://www.byhy.net/tut/auto/selenium/01/
from selenium import webdriver
# 创建 WebDriver 实例对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(r'd:\chromedriver.exe')——如果selenium下载到python根目录下,括号里不用写
# 每隔 半秒钟 再去界面上查看一次, 直到找到该元素, 或者 过了10秒 最大时长。
wd.implicitly_wait(10)
# WebDriver 实例对象的get方法 可以让浏览器打开指定网址
wd.get('http://baidu,com') ——打开百度
#选择元素
element = wd.find_element _by_id
element = wd.find_element _by_class
element = wd.find_element _by_tag_name——标签
element = wd.find_element _by_
element = wd.find_element_bu_css_seletor(CSS selector 参数)——.//# // 元素1>元素2,选择的是元素2;去掉>,选择的是元素1中全部的2;[属性值];
xpath选择元素——
选择 id 为 west 的元素,可以这样
element = wd.find_element_by_xpath(‘ //*[@id='west']’)
//(
使用 find_elements 选择的是符合条件的 所有 元素, 如果没有符合条件的元素, 返回空列表
使用 find_element 选择的是符合条件的 第一个 元素, 如果没有符合条件的元素, 抛出 NoSuchElementException 异常
)//
element.send_keys('IU')——在输入框输入IU
操控元素——
点击——.click()
输入内容——.send_keys()
获取元素信息
Frame切换——wd.switch_to.frame(frame_reference)
其中, frame_reference 可以是 frame 元素的属性 name 或者 ID 。
从Frame切换出来——wd.switc_to.dafault_content()
--------------------------------------------------------------------------------------------------------------------
切换新窗口——wd.switch_to.window(handle)
for handle in wd.window_handles:
# 先切换到该窗口
wd.switch_to.window(handle)
# 得到该窗口的标题栏字符串,判断是不是我们要操作的那个窗口
if 'Bing' in wd.title:
# 如果是,那么这时候WebDriver对象就是对应的该该窗口,正好,跳出循环,
break
同样的,如果我们在新窗口 操作结束后, 还要回到原来的窗口,该怎么办?
我们可以仍然使用上面的方法,依次切入窗口,然后根据 标题栏 之类的属性值判断。
还有更省事的方法。
因为我们一开始就在 原来的窗口里面,我们知道 进入新窗口操作完后,还要回来,可以事先 保存该老窗口的 句柄,使用如下方法
# mainWindow变量保存当前窗口的句柄
mainWindow = wd.current_window_handle
--------------------------------------------------------------------------------------------------------------------
选择框——
radio选择框(单选):
# 获取当前选中的元素
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()
--------------------------------------------------------------------------------------------------------------------
checkbox选择框(多选):
# 先把 已经选中的选项全部点击一下
elements = wd.find_elements_by_css_selector( '#s_checkbox input[checked="checked"]')
for element in elements:
element.click()
# 再点击 小雷老师
wd.find_element_by_css_selector( "#s_checkbox input[value='小雷老师']").click()
-------------------------------------------------------------------------------------------------------------------
select选择框(单选、多选):以下是单选
# 导入Select类
from selenium.webdriver.support.ui import Select
# 创建Select对象
select = Select(wd.find_element_by_id("ss_single"))
# 通过 Select 对象选中小雷老师
select.select_by_visible_text("小雷老师")
浙公网安备 33010602011771号