Selenium Chrome 不匹配

0 投票
1 回答
64 浏览
提问于 2025-04-14 16:36

我非常想解决一个编程难题,这个问题已经困扰我5天了。我的目标是使用Selenium这个工具来抓取一个网站。下面是我的代码。

from selenium import webdriver    
from selenium.webdriver.chrome.options import Options    

chrome_options = Options()   
chrome_options.add_experimental_option("detach", True)    
chrome_options.add_argument('--headless=new')  
chrome_options.add_argument('--no-sandbox')

service = Service()   
browser = webdriver.Chrome(service=service, options=chrome_options)   
browser.get('law.go.kr/')

time.sleep(5)

运行结果如下。出现了InvalidArgumentException的错误。我认为'chrome=122.0.6261.111'是关键所在。

InvalidArgumentException: Message: invalid argument (Session info: chrome=122.0.6261.111)

Stacktrace:

#0 0x5745bb24dec3 \<unknown\>

#1 0x5745baf45b37 \<unknown\>

#2 0x5745baf2d4df \<unknown\>

#3 0x5745baf2b863 \<unknown\>

#4 0x5745baf2bdaa \<unknown\>

#5 0x5745baf4849e \<unknown\>

我猜这个错误出现的原因是Chrome版本不匹配。

我的Chrome版本:122.0.6261.112

我的Chrome-Webdriver版本:122.0.6261.111

所以我尝试了几种不同的方法,但都没有成功。

以下是我的尝试。首先,使用webdriver-manager的代码。

from selenium import webdriver    
from selenium.webdriver.chrome.service import Service as ChromeService    
from webdriver_manager.chrome import ChromeDriverManager

driver=webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
driver.get('law.go.kr')

但是,这也没有成功。错误信息是NoneType对象没有'split'属性。我不知道为什么会出现这个问题。

determined_browser_version = ".".join(determined_browser_version.split(".")\[:3\])

latest_release_url = (self.\_latest_release_url

AttributeError: 'NoneType' object has no attribute 'split'

1 个回答

0
InvalidArgumentException: Message: invalid argument 

上面这个错误的原因是:.get 方法需要一个完整的URL,而不是一个普通的字符串。

把这个:

browser.get('law.go.kr/')

改成:

browser.get('https://law.go.kr/')

撰写回答