【爬虫】Selenuim 4.23 配置与使用

Selenuim的新版本与旧版的许多语法都变了,在这里记录
这是selenuim的官方文档

安装chromedriver

  1. 打开chrome浏览器,输入chrome://version 查看chrome版本
  2. 找到对应的chromedriver,下载
    https://chromedriver.storage.googleapis.com (Chrome 114之前的版本)
    https://googlechromelabs.github.io/chrome-for-testing/#stable (Chrome 126,127,128)
  3. chromedriver 解压到chrome同级目录下面在这里插入图片描述

安装JDK和selenuim server

  1. 安装JDK 11, 这是JDK 各版本下载地址:https://www.java.com/releases/

    安装好了,配置环境变量
    JAVA_HOME为安装的JDK 11的路径。这里我的本地路径是 C:\Program Files\Java\jdk-11
    在这里插入图片描述

  2. 安装Selenium Server, https://www.selenium.dev/downloads/
    在这里插入图片描述

  3. 下载的Selenium Server文件放JDK11文件夹下面在这里插入图片描述

  4. 对JDK11文件夹直接开cmd运行selenuim server,输入命令
    java -jar selenium-server-4.23.0.jar standalone

注:遇到错误 has been compiled by a more recent version of the Java Runtime
我的问题是JDK版本问题

... has been compiled by a more recent version of the Java Runtime
(class file version 55.0), this version of the Java Runtime only
recognizes class file versions up to 52.0

需要至少55的版本,参见这个答案,所以我上面选择的是JDK 11(原本装的是JDK 8)。在这里插入图片描述

  1. server运行后会有一个地址,记录下来放py代码里面用来启动driver
    在这里插入图片描述
from selenium import webdriver
options = webdriver.ChromeOptions()
driver = webdriver.Remote(
   command_executor='http://10.137.153.176:4444',
   options=webdriver.ChromeOptions()
)

语法

定位要素的语法也变了,用

from selenium.webdriver.common.by import By
T1_btn = driver.find_element(By.XPATH, '/html/body/div[1]/div/header/form/div[2]/div/div/span[1]')

send_kys()不管用了,我用的

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
ActionChains(driver).key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform()
ActionChains(driver).key_down(Keys.BACK_SPACE).key_up(Keys.BACK_SPACE).perform()
ActionChains(driver).send_keys(00:00).perform()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值