python - 如何在同一选项卡中使用 selenium 函数? (在 python 上)

标签 python selenium firefox

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

相关文章:

python - python中有二维字典吗?

java - 使用 PageFactory 时处理 StaleElementReferenceException

java - 如何使用 Selenium 和 Java 手动输入 OTP 后继续自动化

css - Flexbox 在 Firefox 的按钮中不起作用

Python:强制导入更喜欢 .py 而不是 .so

python - 如何在odoo 8中打印组的外部ID?

Python bool 变量,True、False 和 None

java - Selenium @test(dependsOnMethods)错误

javascript - 为用户右键单击和检查 Firefox 或 Chrome 中的元素创建事件处理程序

css - 无法在 Firefox 和 Safari 中获取 margin 值