参考:https://ask.hellobi.com/blog/zhiji/10292
在模拟登录时,常常使用GE和POST携带参数,发送请求,但是遇到参数加密,有两种解决办法,第一个就是找加密的JS,这种方法成功率比较小,需要耐心寻找,第二种就是使用selenium,下面是selenium使用的常用方法和函数,当提示无法定位到元素时,需要睡眠几秒。
新建实例
driver = webdriver.Chrome()
1.获取当前页面Url的函数
方法:current_url
实例:driver.current_url
2.表单的提交
方法:submit
解释:查找到表单(from)直接调用submit即可
实例:driver.find_element_by_id("form1").submit()
3.获取CSS的属性值
方法:value_of_css_property(css_name)
实例:driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")
4.获取元素的属性值(一组元素中非常实用)
方法:get_attribute(element_name)
实例:driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")
5.判断元素是否被选中
方法:is_selected()
实例:driver.find_element_by_id("form1").is_selected()
6.返回元素的大小
方法:size
实例:driver.find_element_by_id("iptPassword").size
返回值:{'width': 250, 'height': 30}
7.判断元素是否显示(非常实用)
方法:is_displayed()
实例:driver.find_element_by_id("iptPassword").is_displayed()
8.判断元素是否被使用
方法:is_enabled()
实例:driver.find_element_by_id("iptPassword").is_enabled()
9.获取元素的文本值(非常实用)
方法:text
实例:driver.find_element_by_id("iptUsername").text
10.元素赋值
方法:send_keys(*values)
实例:driver.find_element_by_id("iptUsername").send_keys('admin')
11.删除浏览器所有的cookies
方法:delete_all_cookies()
实例:driver.delete_all_cookies()
12.删除指定的cookie
方法:delete_cookie(name)
实例:deriver.delete_cookie("my_cookie_name")
13.设置等待超时时间,可以在设置的时间内智能等待
方法:implicitly_wait(wait_time)
实例:driver.implicitly_wait(30)
14.查看浏览器的名字
方法:name
实例:drvier.name
15.打印title
方法:title
实例:deriver.title
16.获取cookie并且遍历
cookes1 = driver.get_cookies()
for cookies in cookies1:
print(cookies)
### 异常处理
(1)错误类型: WinError 6] 句柄无效
处理方法一:把close()换成quit(),或者都试一试。
处理方法二:是其他的浏览器,最好使用火狐的。