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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)