我尝试自学如何使用硒编码,但无论我尝试什么,它都不起作用。
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,但它并没有真正给我答案...
如果没有具体的错误信息,很难回答。
看起来有几个问题。首先尝试不指定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()