实例:用selenium实现自动化登录(以淘宝为例)
直接获取页面html:
html = driver.page_source
直接获取页面cookie:
cookie_list = driver.get_cookies()
直接获取token:
get的Item不一定就叫token,得具体看目标系统把token存到哪个变量中 token = driver.execute_script('return localStorage.getItem("token");')
一、Selenium中鼠标与键盘操作汇总
1、click(on_element=None) ——单击鼠标左键
2、click_and_hold(on_element=None) ——点击鼠标左键,不松开
3、context_click(on_element=None) ——点击鼠标右键
4、double_click(on_element=None) ——双击鼠标左键
5、drag_and_drop(source, target) ——拖拽到某个元素然后松开
6、drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
7、key_down(value, element=None) ——按下某个键盘上的键
8、key_up(value, element=None) ——松开某个键
9、move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
10、move_to_element(to_element) ——鼠标移动到某个元素
11、move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
12、perform() ——执行链中的所有动作
13、release(on_element=None) ——在某个元素位置松开鼠标左键
14、send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
15、send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素
二、webdriver的8种页面元素定位方法
1、find_element_by_id() (返回一个元素)
如: find_element_by_id("kw")
2、find_element_by_name() (根据类名获取元素列表)
如: find_element_by_name("wd")
3、find_element_by_class_name() (根据标签的name属性返回包含标签元素的列表)
如: find_element_by_class_name("s_ipt")
4、find_element_by_tag_name() (根据标签名获取元素列表)
如: find_element_by_tag_name("input")
5、find_element_by_link_text() (根据连接文本获取元素列表)
如:find_element_by_link_text(u"新闻")
6、find_element_by_partial_link_text() (根据链接包含的文本获取元素列表)
如:find_element_by_partial_link_text(u"一个很长的")
7、find_element_by_xpath() (返回一个包含元素的列表)
如:find_element_by_xpath(" .//*[@id='kw']")
8、find_element_by_css_selector() (根据css选择器来获取元素列表)
如: find_element_by_css_selector("#kw")