selenium常用方法(二)

webdriver调用js:

excute_script(js):调用js语法,采用同步方式,执行js代码会阻塞主线程向下执行
excute_async_script(js):采用异步方式调用js,执行代码不会阻塞主线程向下执行

滚动条操作:

一般的滚动条操作直接调用以下js语句即可滚动到页面的底部
scroll = ‘var q=document.documentElement.scrollTop=10000’
driver.excute_script(scroll)

cookie处理:

get_cookies():获取cookie信息
add_cookie():增加cookie信息
delete_cookie():删除特定cookie
delete_all_cookies():删除所有cookie

selenium常用模块之except_conditions模块:判断模块,成功返回True,一般与WebDriverWait连用

except_conditions提供的方法:
title_is():判断title是否严格等于driver.title,这个方法的取值需要加上driver

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC


driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
title_ec = EC.title_is(u"百度一下,你就知道")
print(title_ec(driver))  # 得到True或者False

driver.quit()

title_contains(title):判断title值是否在driver.title内,用法与title_is相同
presence_of_element_located():判断只要有一个符合条件的元素加载出来就返回True,参数是一个元组,一般与By模块连用
presence_of_all_element_located():判断只有所有符合条件的元素加载出来才返回True,参数是一个元组,一般与By模块连用
visibility_of_element_located():判断元素是否可以被用户看见,看见返回True,参数是一个元组
invisibility_of_element_located():判断元素是否被用户看见,看不见返回True,参数是一个元组
text_to_be_present_in_element(str):判断元素的text值是否包含了str
text_to_be_present_in_element_value(str):判断元素的value值是否包含了str
element_to_be_clickable(element):判断元素是否可以被点击
element_to_be_selected(element):判断元素是否可以被选中
alert_is_present():判断当前页面是否有alert出现
以上这些方法一般与until、until_not连用,实现判断条件

selenium常用模块之By模块:定位模块,支持selenium的八种定位方法,用法一般是通过元组与except_conditions()连用

By.ID
By.NAME
By.CLASS_NAME
By.LINK_TEXT
By.PARTIAL_LINK_TEXT
By.CSS_SELECTOR
By.TAG_NAME
By.XPATH

selenium常用模块之Select模块:定位下拉框模块,提供了三种方法用于定位

select_by_index():通过索引定位,索引从0开始
select_by_value():通过value属性定位
select_by_visible_text():通过文本值定位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值