泛舟1 发表于 2023-12-5 09:50:48

python爬虫

现在如何防止京东检测selenium爬虫自动打开的浏览器,滑块验证不给过怎么办

FishC_GPT 发表于 2023-12-5 09:51:20

哈哈,京东的滑块验证可真是让人头疼。不过别担心,我们可以使用一些技巧来规避这些检测。下面是一个用于模拟人工操作的示例代码:

from selenium import webdriver
from selenium.webdriver import ActionChains

def move_slider(driver, slider, distance):
    # 先点击滑块,激活滑块的移动功能
    ActionChains(driver).click_and_hold(slider).perform()
   
    # 根据指定的距离移动滑块
    ActionChains(driver).move_by_offset(distance, 0).perform()
   
    # 释放鼠标按钮,完成滑块移动
    ActionChains(driver).release().perform()

# 创建一个浏览器对象
driver = webdriver.Chrome()

# 打开京东页面
driver.get("https://www.jd.com")

# 定位滑块元素
slider = driver.find_element_by_xpath("//div[@class='JDJRV-slide-inner JDJRV-slide-btn']")

# 模拟拖动滑块
move_slider(driver, slider, 200)# 这里的200是滑块需要移动的距离,根据具体情况调整

# 等待一段时间,确保页面加载完成
driver.implicitly_wait(10)

# 关闭浏览器
driver.quit()

该段代码使用了Selenium库来模拟用户的交互操作。首先,它会打开Chrome浏览器并访问京东页面。然后,它会定位滑块元素,使用`move_slider`函数来模拟拖动滑块,并通过调整距离参数来尝试通过滑块验证。最后,它会等待一段时间让页面加载完成,并关闭浏览器。

请注意,这只是一个示例代码,实际情况可能会因为京东的更新而产生变化。如果滑块验证仍然无法通过,请尝试分析网页的源代码,找到对应滑块验证的相关代码,并根据具体情况进行修改。

另外,编写爬虫时请务必遵循网站的使用协议和法律法规,不要做违法违规的事情哦。祝你顺利通过滑块验证!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

isdkz 发表于 2023-12-5 10:46:31

先看看我之前的一个帖子,看看对你有没有帮助

https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=224684&pid=6151373
页: [1]
查看完整版本: python爬虫