python - 如何在同一选项卡中使用硒功能?(在蟒蛇上)
问题描述
这里的事情是,我试图让我的程序在搜索框中输入 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")
它部分工作,它进入下一页(在同一个选项卡上)并显示“找到视频”但它没有点击它
解决方案
我的朋友,这是代码
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后立即添加了点击
推荐阅读
- verilog - 在时钟下降沿写入寄存器:代码中的问题
- android - Hybrid Cordova 应用程序:Android 本地没有声音
- sap-fiori - 如何设置 SAP Fiori Launchpad 插件?
- java - Auto Inventory Program - 文件输出和捕获 int 索引的问题
- oracle - 序列可以有同义词吗?
- c# - 通过绑定设置列标题
- java - Javax.validation - 如何使用指定日期验证 Date 属性
- python - Chrome 更新后,Selenium 停止工作
- javascript - 比较数组项时遇到问题
- c# - asp.net core 1.1 身份项目升级到3.0