driver.find_element(By.CSS_SELECTOR, value='button.ytp-button.ytp-settings-button').click()
time.sleep(1)
driver.find_element(By.XPATH, value="/html/body/ytd-app/div[1]/ytd-page-manager/ytd-watch-flexy/div[5]/div[1]/div/div[1]/div/div/div/ytd-player/div/div/div[30]/div/div/div[3]").click()
有些視頻的最高質量是 1080p,有些是 1440p,有些是 4k 等等,我如何讓 selenium 點擊最高。
我正在考慮做一些事情,比如將所有可用的 qualites 添加到串列中,然后使用串列 [0] 或串列 [-1]。取決于最高可用質量采用什么索引。


uj5u.com熱心網友回復:
如果您希望設定最大可用解析度(或最高解析度),則無需依賴定義解析度的字串。只需單擊存在的第一個按鈕。此外,您發布的答案不是一個好習慣(改用回圈)
driver.find_element(By.XPATH, value='(//div[@])[1]').click()

uj5u.com熱心網友回復:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'2160p')]").click()
except NoSuchElementException:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'1440p')]").click()
except NoSuchElementException:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'1080p')]").click()
except NoSuchElementException:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'720p')]").click()
except NoSuchElementException:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'480p')]").click()
except NoSuchElementException:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'360p')]").click()
except NoSuchElementException:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'240p')]").click()
except NoSuchElementException:
try:
driver.find_element(By.XPATH, value="//span[contains(string(),'144p')]").click()
except NoSuchElementException:
print("App has crashed") # Do not think code can reach here, but just in case
exit()
這應該很好,如果有“更快”的東西將不勝感激。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/483360.html
上一篇:如何使用selenium/webdriver打開網站?
下一篇:無法在無頭模式下啟動Chrome
