【发布时间】:2021-09-08 16:43:57
【问题描述】:
<a class="yt-simple-endpoint style-scope yt-formatted-string" spellcheck="false" href="/channel/UC8butISFwT-Wl7EV0hUK0BQ" dir="auto">freeCodeCamp.org</a>
我是 selenium 的新手,正在尝试制作一个 youtube 排名检查机器人! 我正在尝试从此处获取 href 值,以便将其与频道名称进行比较并打印出正确的排名编号,但我得到的输出不正确。 我得到的输出是 2,5,而我应该得到 6,7。
谁能告诉我哪里/我做错了什么?可以做些什么来解决这个问题?提前谢谢
from selenium import webdriver
import time
channel_name = 'freeCodeCamp.org' #channel name
driver = webdriver.Chrome(r"C:\\Users\\user\\PycharmProjects\\YoutubeRankCheckBot\\Drivers\\chromedriver.exe")
driver.get("http://youtube.com")
driver.maximize_window()
search_bar = driver.find_element_by_id("search")
search_bar.send_keys("React JS") #Inserting text input in a automation way
search_button = driver.find_element_by_id("search-icon-legacy")
search_button.click()
time.sleep(5)
video_list = driver.find_elements_by_xpath('//a[contains(@href,"/channel/UC8butISFwT-Wl7EV0hUK0BQ")]')
print(video_list)
for index, channel in enumerate(video_list):
if channel.text == channel_name:
print(index)
【问题讨论】:
标签: python selenium bots ranking browser-automation