首页 > 解决方案 > 如何在同一选项卡中使用硒功能?(在蟒蛇上)

问题描述

这里的事情是,我试图让我的程序在搜索框中输入 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")

它部分工作,它进入下一页(在同一个选项卡上)并显示“找到视频”但它没有点击它

标签: pythonseleniumfirefox

解决方案


我的朋友,这是代码

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秒加载页面并点击视频  

时间.睡眠 (5)

更多关于 Python sleep() 的信息。蟒蛇睡眠()

点击视频时,我修改了代码

1-变量 clickVid 我删除了它

2- 我将视频 ID 从“dismissable”更改为“video-title”。可以查看页面源码看视频ID(我点了视频标题)

3-我在找到视频ID后立即添加了点击


推荐阅读