selenium网页打开失败
本帖最后由 6YKT6ZKm5LqI 于 2023-4-6 20:07 编辑今天刚刚接触selenium,想要打开学校的刷题网站https://prg.cqupt.edu.cn/但是页面加载不出来,其他网址用selenium可以正常打开
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
wd = webdriver.Chrome(service=Service(r'D:\ChromeDriver\chromedriver_win32\chromedriver.exe'))
# 防止被检测
wd.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
wd.get('https://prg.cqupt.edu.cn/')
# 防止页面关闭
input()
wd.quit()
如果可以的话大佬能把测试可行的代码贴出来吗 你直接在chrome里打开这个网址可以吗
或者是“防止被检测”那里写错了 {:7_146:} 币 顶 歌者文明清理员 发表于 2023-4-6 17:49
你直接在chrome里打开这个网址可以吗
或者是“防止被检测”那里写错了
直接在chrome可以打开,试过不加防止检测代码,加上以后在网页控制台查看web的那个什么driver就从true变成了undefined 也没有报错什么的 6YKT6ZKm5LqI 发表于 2023-4-6 18:48
直接在chrome可以打开,试过不加防止检测代码,加上以后在网页控制台查看web的那个什么driver就从true变 ...
time.sleep? 歌者文明清理员 发表于 2023-4-6 19:14
time.sleep?
一开始我用的是sleep防止闪退,但是也没法打开该网页,后来把sleep改成input,结束程序就随便输入点什么 6YKT6ZKm5LqI 发表于 2023-4-6 19:38
一开始我用的是sleep防止闪退,但是也没法打开该网页,后来把sleep改成input,结束程序就随便输入点什么
可能是因为该网站需要登录才能访问,你可以尝试在代码中加入登录步骤,或者使用已登录的浏览器cookie进行访问。
另外,你可以尝试使用其他浏览器进行访问,比如Firefox或者Edge,看是否可以成功加载页面。如果可以,可能是Chrome浏览器与该网站的兼容性问题。 你好!可能有多种原因导致网站无法加载,以下是一些可能的解决方案:
1. 检查你的网络连接是否正常,可以尝试在浏览器中手动打开该网站,看是否能够正常加载。
2. 确保你的ChromeDriver版本与你的Chrome浏览器版本匹配。你可以在https://sites.google.com/a/chromium.org/chromedriver/downloads页面下载匹配的ChromeDriver版本。
3. 尝试使用不同的浏览器,例如Firefox或Edge,看是否能够正常加载网站。
4. 检查你的代码是否存在错误。你可以尝试注释掉防止被检测的代码,看是否可以正常加载网站。
如果以上方法都不起作用,你可以尝试通过Chrome浏览器的开发者工具来检查错误信息,或者在终端中运行代码,看是否输出错误信息。
币 鱼币 {:10_279:} 6YKT6ZKm5LqI 发表于 2023-4-6 19:38
一开始我用的是sleep防止闪退,但是也没法打开该网页,后来把sleep改成input,结束程序就随便输入点什么
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors') # 忽略https证书错误
wd = webdriver.Chrome(service=Service('D:/ChromeDriver/chromedriver_win32/chromedriver.exe'), options=options) 歌者文明清理员 发表于 2023-4-18 10:18
我改成了这样,但是还是打不开
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors') # 忽略https证书错误
wd = webdriver.Chrome(service=Service('D:/ChromeDriver/chromedriver_win32/chromedriver.exe'), options=options)
# 防止被检测
wd.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
wd.get('https://prg.cqupt.edu.cn')
# 防止页面关闭
input()
wd.quit()
6YKT6ZKm5LqI 发表于 2023-4-20 11:19
我改成了这样,但是还是打不开
https://fishc.com.cn/forum.php?mod=viewthread&tid=215915-1-1.html
这个错误可能是因为您访问的网页出现了问题。状态码400表示请求发生语法错误,服务器无法理解客户端发送的请求。
您可以尝试以下几种方法来解决这个问题:
[*]检查URL是否正确:确保您正在访问正确的URL地址。可能存在一些拼写错误或者链接不正确的情况。
[*]检查网络连接:请检查您的网络连接是否正常。您可以尝试刷新页面或者重新启动浏览器。
[*]检查代码:如果您使用的是编程语言进行自动化测试,检查您的代码是否存在问题。您可以参考官方文档或者其他开发者的经验来找到解决办法。
如果以上方法都没有解决您的问题,建议联系网站管理员或者寻求更专业的技术支持帮助您解决这个问题。
页:
[1]