使用 selenium webdriver 在 python 中实现网络自动化

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

错误: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()
python selenium-webdriver automation selenium-chromedriver
1个回答
0
投票

在 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()
© www.soinside.com 2019 - 2024. All rights reserved.