错误:Youtube 在未执行操作的情况下打开和关闭。有什么方法可以将 chromedriver 放入 selenium 文件中或任何其他方法。
我试过这个.:
import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
url='https://youtube.com'
driver=webdriver.Chrome()
driver.get(url)
searchbox=driver.find_element(By.XPATH,'//*[@id="search"]')
searchbox.send_keys("Google")
searchbutton=driver.find_element(By.XPATH,'//*[@id="search-icon-legacy"]/yt-icon/yt-icon- shape/icon-shape/div')
searchbutton.click()
time.sleep(25)
driver.quit()
在 Chrome 中打开 YouTube 并使用开发者控制台(检查元素)查看 HTML。按 CTRL+F 打开 Find 栏并输入您用于搜索栏的 XPATH (
//input[@id="search"]
)。您将看到返回了三个元素! “搜索”的id
并不是唯一的。 Selenium 的 find_element()
返回第一个元素,它不是搜索框。因此,在 XPATH 中,您需要指定您正在寻找 <input>
元素。
另一个选择器也不会按原样工作。以下是正确的定位器:
searchbox = driver.find_element(By.XPATH,'//input[@id="search"]')
searchbox.send_keys("Google")
driver.find_element(By.ID, 'search-icon-legacy').click()