新版Selenium改动

73 阅读1分钟

新版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后面可以自己选择所需要的检索对象