新版selenium小结 新版selenium与老版最大的差别应该就是api之间的差异,老版的selenium在检索element元素的时候,一般使用下列代码
import re
import selenium
from selenium import webdriver
import pymysql
import time
import random
from fake_useragent import UserAgent
import os
option = webdriver.ChromeOptions()
us = UserAgent()
option.add_experimental_option('excludeSwitches', ['enable-automation']) # 这里去掉window.navigator.webdriver的特性
option.add_argument("--disable-blink-features=AutomationControlled")
option.add_argument('user-agent=%s' % us.chrome)
driver = webdriver.Chrome(options=option)
其中UserAgent()
使用了fake_useragent
库,可以制造虚拟请求头,新版的到这一步为止都没有什么变化。但是在下面就有不同了,
driver.get(URL)
element = driver.find_elements_by_xpath(f"xpath/fullxpath")
element = driver.find_elements_by_class(class_name)
element = driver.find_elements_by_css(css)
element = driver.find_elements_by_id(id_name)
这是原先老版的api而新版的api改成了统一使用By
driver.get(url)
element = driver.find_element(By.xpath, 'm_lis_box')
在By后面可以自己选择所需要的检索对象