selenium插件基础使用
需要的包
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options必须的步骤代码
# 打开测试浏览器并打开网站 def open(self): global wd wd = webdriver.Chrome() # 谷歌浏览器 wd.get("http://xxxx") # 打开网站 wd.implicitly_wait(10) # 等待元素出现的时间(秒)
- 此代码以将chromedriver扔进环境变量为前提
wd.implicitly_wait()与sleep()的作用不一样,前者是搜索到你要操作的元素就点,超过设定时间后终止程序;后者是等待设定的时间后再操作。实战中,特别是那种选择日期之类有选项的,在同一页面操作时,wait()还没等选择完日期就进行其他操作了,很可能会导致选择日期的下一步失效。
可选的配置
# 隐藏测试模式 def hidden(self): chrome_options = Options() chrome_options.add_argument("--disable-blink-features=AutomationControlled") chrome_options.add_argument("--headless") chrome_options.add_argument('user-agent=浏览器F12搜索')操作一览
1.查找需要操作的按钮(元素)
| wd.find_element(By.xx, “xx”) | 描述 |
|---|---|
| By.ID | 通过id查找 |
| By.XPATH | F12右键复制XPATH |
| By.CLASS_NAME | 通过CLASS_NAME查找 |
2.元素操作
| element.xx | 描述 |
|---|---|
| send_keys(“”) | 输入内容 |
| click() | 点击 |
| find_element() | 查找元素 |
3.其他操作
| wd.xx | 描述 |
|---|---|
| switch_to.frame(“”) | 进入嵌套iframe层 |
| switch_to.default_content() | 退回上一级iframe层 |
| execute_script(“”) | js操作,找到并点击 |
4.例子
wd.switch_to.frame(wd.find_element(By.XPATH, '//*[@id="xx"]/iframe'))
element = wd.find_element(By.XPATH, '//*[@id="xx"]/input')
element.send_keys("xx")
time.sleep(0.5)
wd.switch_to.default_content()
- 模拟鼠标操作