selenium的基本操作

from selenium import webdriver

webdriver创建一个浏览器

driver = webdriver.Edge()

进行操作

url = "XXX"

访问url

driver.get(url)

定位

id_pla =  driver.find_element_by_id()

标签交互

id_pla.send_keys("xxx")

获取网页源码

page = driver.page_source
page.encode("utf8")

执行js程序

driver.execute_script('xxx')

前进后退

driver.back()
driver.forward()

关闭

driver.quit()

处理iframe

# 如果标签在iframe中,需要把变迁切换到iframe中
driver.switch_to.frame("id")    # 切换浏览器标签定位的作用域

动作链

from selenium.webdriver import ActionChains
action = ActionChains(driver)  # 实例化动作链
action.click_and_hold()  # 长按且点击
action.click()
action.move_by_offset(x, y)  # 规定左右移动
action.perform()  # 运行动作链
action.release()  # 释放动作链

无头浏览器

from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
br = webdriver.Chrome(chrome_options=chrome_options)  # 每个浏览器不同

实现规避检测

from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_argument('--disable-blink-features=AutomationControlled')
br = webdriver.Chrome(chrome_options=chrome_options, options=option)

你可能感兴趣的:(爬虫,笔记,selenium,python,测试工具)