我的硒代码不想与网络驱动程序链接

问题描述 投票:0回答:1

我尝试自学如何使用硒编码,但无论我尝试什么,它都不起作用。

from selenium import webdriver 
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time

service = Service(executable_path="C:\Users\USER.PC-20220517DPKY\Desktop\coding\bot\chromedriver.exe")
driver = webdriver.Chrome(service=service)

# jetzt starten wir das programm
driver.get('https://google.com')

#jetzt targeten wir eine css class im html text 
input_element = driver.find_element(By.CLASS_Name,'gLFyf')
input_element.send_keys('bals')
time.sleep(10)

#ende des programs
driver.quit()

我按照技术人员与 Tim 的视频中所述安装了网络驱动程序:https://www.youtube.com/watch?v=NB8OceGZGjA

我成功安装了selenium,并将cromedriver放在与代码文件相同的文件夹中。我的谷歌浏览器的当前版本是版本 125.0.6422.142 但网络驱动程序仅在 125.0.6422.141 中可用。我尝试询问 Copilot,但它并没有真正给我答案...

python selenium-webdriver
1个回答
0
投票

如果没有具体的错误信息,很难回答。

看起来有几个问题。首先尝试不指定chrome的可执行路径。这应该确保 chrome 的版本与 chromedriver 匹配。

其次,

By.CLASS_Name
不正确。你需要使用
By.CLASS_NAME

第三,当您在 selenium 中打开 google 时,它很可能会显示一个需要您关闭的 cookie 弹出窗口。否则,尝试在搜索栏中输入文本将会失败。对我来说,这是通过以下代码处理的:

reject_all = driver.find_element(By.ID, 'W0wltc')
reject_all.click()

这是“拒绝全部”cookie 按钮的 ID。您可能需要在代码中使用不同的 ID。

工作代码总共应该如下所示:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()

driver.get("https://www.google.com")

# Dismiss the cookies popup
reject_all = driver.find_element(By.ID, 'W0wltc')
reject_all.click()

input_element = driver.find_element(By.CLASS_NAME, 'gLFyf')
input_element.send_keys('bals')
time.sleep(10)


driver.quit()
© www.soinside.com 2019 - 2024. All rights reserved.