Eclipse异常报错之 remote stacktrace: Backtrace

本文分析了Eclipse使用Selenium时遇到的ChromeDriver异常问题,包括Chrome浏览器与驱动版本不一致和环境变量配置错误。提供了解决方案,如确保浏览器和驱动版本匹配,以及正确设置系统环境变量。
摘要由CSDN通过智能技术生成

异常提示
020-06-03 09:58:10,295 INFO [ThreadPoolTaskExecutor-1] org.openqa.selenium.Capabilities (116)- Using new ChromeOptions() is preferred to DesiredCapabilities.chrome()
Starting ChromeDriver 81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}) on port 36088
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
2020-06-03 09:58:13,790 ERROR [ThreadPoolTaskExecutor-1] com.artup.pdf.service.generator.PDFGeneratorService (1425)- 创建作品 ID = a239abb7126f463ebc6ae548917dfe18 出错了!
org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 81
Build info: version: ‘3.141.59’, revision: ‘e82be7d358’, time: ‘2018-11-14T08:17:03’
System info: host: ‘HAPDAY-DESKTOP’, ip: ‘192.168.126.174’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘11.0.2’
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
Ordinal0 [0x00BC5F73+2449267]
Ordinal0 [0x00AF8361+1606497]
Ordinal0 [0x009EF969+522601]
Ordinal0 [0x009805F3+67059]
Ordinal0 [0x0097CD92+52626]
Ordinal0 [0x0099C127+180519]
Ordinal0 [0x0099BF2D+180013]
Ordinal0 [0x00999E5B+171611]
Ordinal0 [0x00981DD8+73176]
Ordinal0 [0x00982E50+77392]
Ordinal0 [0x00982DE9+77289]
Ordinal0 [0x00B0D8D7+1693911]
GetHandleVerifier [0x00C64036+522726]
GetHandleVerifier [0x00C63D74+522020]
GetHandleVerifier [0x00C79187+609079]
GetHandleVerifier [0x00C648A6+524886]
Ordinal0 [0x00B05CBC+1662140]
Ordinal0 [0x00B0F23B+1700411]
Ordinal0 [0x00B0F3A3+1700771]
Ordinal0 [0x00B25215+1790485]
BaseThreadInitThunk [0x754E0419+25]
RtlGetAppContainerNamedObjectPath [0x771066DD+237]
RtlGetAppContainerNamedObjectPath [0x771066AD+189]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler 0 ( W 3 C H a n d s h a k e R e s p o n s e . j a v a : 62 ) a t o r g . o p e n q a . s e l e n i u m . r e m o t e . H a n d s h a k e R e s p o n s e . l a m b d a 0(W3CHandshakeResponse.java:62) at org.openqa.selenium.remote.HandshakeResponse.lambda 0(W3CHandshakeResponse.java:62)atorg.openqa.selenium.remote.HandshakeResponse.lambdagetResponseFunction 0 ( H a n d s h a k e R e s p o n s e . j a v a : 30 ) a t o r g . o p e n q a . s e l e n i u m . r e m o t e . P r o t o c o l H a n d s h a k e . l a m b d a 0(HandshakeResponse.java:30) at org.openqa.selenium.remote.ProtocolHandshake.lambda 0(HandshakeResponse.java:30)atorg.openqa.selenium.remote.ProtocolHandshake.lambdacreateSession$0(ProtocolHandshake.java:126)
at java.base/java.util.stream.ReferencePipeline$3 1. a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 195 ) a t j a v a . b a s e / j a v a . u t i l . S p l i t e r a t o r s 1.accept(ReferencePipeline.java:195) at java.base/java.util.Spliterators 1.accept(ReferencePipeline.java:195)atjava.base/java.util.SpliteratorsArraySpliterator.tryAdvance(Spliterators.java:958)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.FindOps F i n d O p . e v a l u a t e S e q u e n t i a l ( F i n d O p s . j a v a : 150 ) a t j a v a . b a s e / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . e v a l u a t e ( A b s t r a c t P i p e l i n e . j a v a : 234 ) a t j a v a . b a s e / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e . f i n d F i r s t ( R e f e r e n c e P i p e l i n e . j a v a : 543 ) a t o r g . o p e n q a . s e l e n i u m . r e m o t e . P r o t o c o l H a n d s h a k e . c r e a t e S e s s i o n ( P r o t o c o l H a n d s h a k e . j a v a : 128 ) a t o r g . o p e n q a . s e l e n i u m . r e m o t e . P r o t o c o l H a n d s h a k e . c r e a t e S e s s i o n ( P r o t o c o l H a n d s h a k e . j a v a : 74 ) a t o r g . o p e n q a . s e l e n i u m . r e m o t e . H t t p C o m m a n d E x e c u t o r . e x e c u t e ( H t t p C o m m a n d E x e c u t o r . j a v a : 136 ) a t o r g . o p e n q a . s e l e n i u m . r e m o t e . s e r v i c e . D

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Traceback (most recent call last): File "C:\Users\niuxi\pythonProject\main.py", line 18, in <module> more_btn = WebDriverWait(edge, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".rev-more a"))) File "D:\元气壁纸缓存\lib\site-packages\selenium\webdriver\support\wait.py", line 95, in until raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message: Stacktrace: Backtrace: GetHandleVerifier [0x00007FF6E502AEC2+64226] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6E4FBC082+765362] (No symbol) [0x00007FF6E4D7CC4C] (No symbol) [0x00007FF6E4DC0BDF] (No symbol) [0x00007FF6E4DC0D6A] (No symbol) [0x00007FF6E4DFAC17] (No symbol) [0x00007FF6E4DDF03F] (No symbol) [0x00007FF6E4DB4BB1] (No symbol) [0x00007FF6E4DF7FC1] (No symbol) [0x00007FF6E4DDEDD3] (No symbol) [0x00007FF6E4DB3BEC] (No symbol) [0x00007FF6E4DB2DD6] (No symbol) [0x00007FF6E4DB4364] Microsoft::Applications::Events::ILogManager::DispatchEventBroadcast [0x00007FF6E52087C9+1319033] (No symbol) [0x00007FF6E4E2D2A8] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6E4F095E1+33553] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6E4F01A1F+1871] Microsoft::Applications::Events::ILogManager::DispatchEventBroadcast [0x00007FF6E52073E3+1313939] Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF6E4FC46B8+20232] Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF6E4FC0CD4+5412] Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF6E4FC0DCC+5660] Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6E4FB4A81+735153] BaseThreadInitThunk [0x00007FFEC68526AD+29] RtlUserThreadStart [0x00007FFEC802AA68+40]
07-15
这个错误是由于等待超时引起的。可能是由于页面加载时间较长或者元素没有出现导致的。 您可以尝试增加等待时间,或者使用其他等待条件来等待元素的出现。另外,还可以尝试使用`visibility_of_element_located`条件来等待元素的出现。 以下是修改后的代码示例: ```python import time import openpyxl from selenium import webdriver from bs4 import BeautifulSoup from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By url = "https://www.mafengwo.cn/poi/16790.html" edge = webdriver.Edge() edge.get(url) comments_data = [] # 等待页面加载完成 time.sleep(5) # 点击展开更多评论按钮 more_btn = WebDriverWait(edge, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".rev-more a"))) edge.execute_script("arguments[0].click();", more_btn) time.sleep(2) # 循环获取点评信息 while True: # 获取页面源码 html = edge.page_source soup = BeautifulSoup(html, "html.parser") # 获取每条点评的信息 reviews = soup.select(".rev-item") for review in reviews: # 获取点评内容 content = review.select_one(".rev-txt").get_text().strip() print("点评内容:", content) # 获取点评时间 date = review.select_one(".time").get_text().strip() print("点评时间:", date) # 获取点评用户 user = review.select_one(".name").get_text().strip() print("点评用户:", user) # 获取点评评分 score = review.select_one(".score span").get_text().strip() print("点评评分:", score) print("-----------------------------") comments_data.append([content, date, user, score]) # 翻页操作 next_btn = edge.find_element("css selector", ".pg-next") if next_btn.get_attribute("class") == "pg-next": edge.execute_script("arguments[0].click();", next_btn) time.sleep(2) else: break # 将爬取的点评信息存入comments.xlsx文件中 wb = openpyxl.Workbook() ws = wb.active ws.append(["点评内容", "点评时间", "点评用户", "点评评分"]) for data in comments_data: ws.append(data) wb.save("comments.xlsx") wb.close() # 关闭浏览器 edge.quit() ``` 在这个示例中,我使用了`WebDriverWait`类和`EC.visibility_of_element_located`条件来等待更多评论按钮的可见性。`WebDriverWait`类会等待一个特定条件的满足,直到最大等待时间达到或条件满足为止。 希望这次修改能解决问题。如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值