云之高水之远 2020-03-28
from selenium import webdriver # 导入webdriver模块>>> chrome_obj = webdriver.Chrome() # 打开Google浏览器>>> chrome_obj.get("https://www.baidu.com") # 打开 网址>>> chrome_obj.get(r"C:\desktop\text.html") # 打开本地 html页面>>> chrome_obj.title # 获取打开网址 的名字 >>> chrome_obj.current_url # 获取打开网址的 url<br><br>>>> chrome_obj.close() #关闭浏览器窗口 |
# 查找标签>>> label = chrome_obj.find_element_by_id("kw")>>> label = chrome_obj.find_element_by_name("wd")>>> label = chrome_obj.find_element_by_class_name("s_ipt")>>> label = chrome_obj.find_element_by_tag_name("imput")>>> label = chrome_obj.find_element_by_link_text("a标签中的内容 准确定位") >>> label = chrome_obj.find_element_by_partial_link_text("a标签中的内容 模糊定位 ")>>> label = chrome_obj.find_element_by_xpath(“放入 copy 标签中的常css路径”)>>> label = chrome_obj.find_element_by_css_selector(“input=[id=‘id_name‘/name=‘name_name‘/……/]") |
XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。
>>> label.get_attribute("type") # 显示标签的type属性 name type id placeholder>>> label.tag_name() #获取标签名字 input p form ……>>> label.size>>> label.id>>> chrome_obj.maximize_window()# 窗口最大化 <br>>>> #模拟鼠标悬浮 |
>>> label.click() # 模拟a标签 点击事件>>> label.send_keys("模拟搜索内容") # 模拟input框 输入内容>>> label.clear() # 清除input标签中 输入的内容>>> chrome_obj.back() # 模拟浏览器 返回上一个浏览页面 |
1 2 3 4 5 | from selenium.webdriver.common.action_chains import ActionChains #导入模块>>> label = chrome_obj.find_element_by_link_text("点我 悬浮 显示其他 a标签")>>> ActionChains(chrome_obj).move_to_element(label).perform() # 模拟用户悬浮 |
1 | """ ActionChains(chrome_obj) 用于生成模拟用户行为 ; |
1 | perform() 执行存储行为 """ |
1 | >>> label_bel = chrome_obj.find_element_by_link_text("我是 a标签,点我页面跳转")>>> label_bel.click() # 模拟用户点击 |
其他鼠标操作
label.countext_lick() # 右击label.double_click() # 双击label.drag_and_drop() # 拖动label.move_to_element # 悬浮label.click_and_hold # 按鼠标左键一直不动 |
from selenium.webdriver.common.keys import Keys # 引入模块>>> label.send_keys("input输入的内容")>>> label.send_keys(Keys.BACK_SPANCE) # 退格键>>>label.send_keys(Keys.CONTRL,‘a‘) # 全选>>>label.send_keys(Keys.CONTRL,‘v‘) # 粘贴>>>label.send_keys(Keys.CONTRL,‘c‘) # 复制>>>label.send_keys(Keys.CONTRL,‘x‘’) # 剪切>>>label.send_keys(Keys.ENTER) # 回车 |
python脚本实现自动登录