python3 chromedrivers签到
创始人
2025-05-31 00:34:11

爬虫一般是useragent,或者js脚本交互验算的方式来反机器人爬虫,只是很多反爬虫容易被侦测出来容易被拦截,这里有个思路可以用webdrivers来驱动浏览器去爬虫,这样就可以绕过大多数的防爬机制(有些高级的防反爬虫也不行,比如验证码,鼠标轨迹验证等技术这样chromedriver就不管用了)

用chrome浏览器举例

第一下载安装chrome浏览器并查明版本号。

┌──(kali㉿kali)-[~]
└─$ apt-get install google-chrome-stable

然后照着浏览器去下载相应的chromedriver

下载地址:CNPM Binaries Mirror

下载后解压,将里面的chromedriver 复制到/usr/bin/ 目录下面(pach环境变量里面)即可

下面开始写脚本

from time import sleep
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keysoption = webdriver.ChromeOptions() 
#设置chrome的浏览器选项option.add_argument('--headless') 
#设施chrome选项为无窗口运行driver = webdriver.Chrome(chrome_options=option) 
# 创建一个chrome浏览器,应用无窗口的配置。driver.get("http://www.jsons.cn/ping/") 
#用chrome去访问网页WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'txt_url')))
#让chrome显式等待driver这个对象,并最多等待10秒,当界面出现'txt_url'这个元素后在继续往下driver.find_element(By.XPATH, '//*[@id="txt_url"]').send_keys('ss111d.yqw5ey.dnslog.cn')
#再出现//*[@id="txt_url"]这个元素后往这个元素里面填入ss111d.yqw5ey.dnslog.cn这个数值driver.find_element(By.XPATH, '//*[@id="startbtn"]').click()
#然后找到//*[@id="startbtn"] 这个按钮模拟点击它sleep(1)
#等待一秒后退出

 find_element(By.XPATH, '//*[@id="txt_url"]')  这个元素怎么来的?如下:

总的来说这个脚本就是用chrome 打开这个网站,然后输入这个dnslog的网址去ping一下。模仿人点击去测试网页

 

 结果

其他:

下拉菜单如何选择?

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select# 创建一个 WebDriver 实例
driver = webdriver.Chrome()# 访问网页
driver.get("https://example.com")# 选择下拉框元素
select_box = driver.find_element(By.ID, "my_select_box")# 初始化 Select 类
select = Select(select_box)# 选择一个选项
select.select_by_value("option_value")# 关闭 WebDriver 实例
driver.quit()

在最新版本的 Selenium Python 包中,推荐使用 find_element 方法的新形式,即指定查找方式的参数 By,以及对应的选择器表达式,具体有以下几种用法:

  1. 通过元素 ID 查找元素:find_element(By.ID, id_)
  2. 通过元素 name 查找元素:find_element(By.NAME, name)
  3. 通过元素 class name 查找元素:find_element(By.CLASS_NAME, name)
  4. 通过元素标签名查找元素:find_element(By.TAG_NAME, name)
  5. 通过元素链接文本查找元素:find_element(By.LINK_TEXT, text)
  6. 通过元素部分链接文本查找元素:find_element(By.PARTIAL_LINK_TEXT, text)
  7. 通过元素 CSS 选择器查找元素:find_element(By.CSS_SELECTOR, css_selector)
  8. 通过元素 XPath 查找元素:find_element(By.XPATH, xpath)

相关内容

热门资讯

重大通报“红豆大厅到底有挂是吗... 您好:红豆大厅这款游戏可以开挂,确实是有挂的,需要软件加微信【8700483】,很多玩家在红豆大厅这...
科普实测“中至麻将究竟有没有挂... 您好:中至麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【8700483】,很多玩家在中至麻将这...
实测!“土豆麻将有挂吗 ”确实... 您好:土豆麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【6676724】很多玩家在这款游戏...
科普实测“友乐趣游到底有没有挂... 您好:【友乐趣游】这款游戏可以开挂,确实是有挂的,需要了解加客服微信【6948699】很多玩家在这款...
[独家解答]“毛豆大厅拼三张开... 您好:毛豆大厅拼三张这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9951342】很多玩家在这...