事情是这样的,我试图让我的程序在搜索框中输入 pewdiepie,然后播放第一个视频(对于一个项目来说,这将演变成更大的东西,但这就是要点它) 。问题是,当它向我显示搜索结果时,它位于同一选项卡上,而 selenium 函数似乎无法识别它。 我怎样才能解决这个问题 ?
这是我到目前为止编写的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.maximize_window()
url = "https://www.youtube.com"
driver.get(url)
searchBar = driver.find_element_by_name("search_query")
searchBar.send_keys("Pewdiepie")
searchBar.send_keys(Keys.ENTER)
try:
clickVid = driver.find_element_by_id("dismissable")
clickVid.click()
print("Video Found") #Trying to see what's happening
except:
print("Cant Click")
它部分工作,它进入下一页(在同一选项卡上) 并显示“找到视频”,但没有点击它
最佳答案
我的 friend ,这是代码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox()
driver.maximize_window()
url = "https://www.youtube.com"
driver.get(url)
searchBar = driver.find_element_by_name("search_query")
searchBar.send_keys("Pewdiepie")
searchBar.send_keys(Keys.ENTER)
time.sleep(5)
try:
driver.find_element_by_id("video-title").click()
print("Video Found") #Trying to see what's happening
except:
print("Cant Click")
搜索后,我添加了等待5秒加载页面并点击视频
time.sleep (5)
有关 Python sleep() 的更多信息。 PYTHON SLEEP()
点击视频时,我修改了代码
1-变量clickVid我删除了
2- 我将视频 ID 从“dismissable”更改为“video-title”。可以查看页面源码看到视频ID(我点击了视频标题)
3-我找到视频ID后立即添加了点击
关于python - 如何在同一选项卡中使用 selenium 函数? (在 python 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59417115/