【问题标题】:Why doesn't selenium click?(Python)为什么硒不点击?(Python)
【发布时间】:2020-06-02 07:01:40
【问题描述】:

前几天,我开始使用 Selenium 库在 YouTube 上按下按钮,一切都很好,但前几天,由于某种原因,它停止按下按钮,我没有更改任何内容,一切都完全一样,当我在另一台电脑上检查代码时,一切都很好,最重要的是,他甚至没有 给我错误并假装一切顺利! 在这种情况下该怎么办,我会很高兴每一个答案! (在python中工作)

from selenium import webdriver
import time

url = 'url video'
FILE_NAME_PROFILE = "C:/Users/xxx/AppData/Local/Google/Chrome/User Data"
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=" + FILE_NAME_PROFILE)
driver =webdriver.Chrome(executable_path="C:/Users/xxx/Downloads/chromedriver_win32(1)/chromedriver.exe",chrome_options=options)
driver.get(url)
time.sleep(10)
like = driver.find_element_by_xpath('//yt-icon[@class="style-scope ytd-toggle-button-renderer"]')
like.click()
driver.quit()

【问题讨论】:

  • 您可以尝试在网络浏览器上检查元素吗?然后确认类名没有改变
  • @Olamide226 一切都很好,没有任何改变
  • 添加 try-except 并检查你得到了什么异常。
  • @ManaliKagathara 她不在。代码以“成功”结尾,尽管没有任何操作
  • 点赞后添加 2 秒睡眠并检查浏览器发生了什么。

标签: python selenium youtube


【解决方案1】:

尝试这样调整:

from selenium import webdriver
import time
from selenium.webdriver.support.ui import WebDriverWait ##new line of code

url = 'url video'
FILE_NAME_PROFILE = "C:/Users/xxx/AppData/Local/Google/Chrome/User Data"
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=" + FILE_NAME_PROFILE)
driver =webdriver.Chrome(executable_path="C:/Users/xxx/Downloads/chromedriver_win32(1)/chromedriver.exe",chrome_options=options)
driver.get(url)
time.sleep(10)

inp_xpath_search = '//yt-icon[@class="style-scope ytd-toggle-button-renderer"]'

like = WebDriverWait(driver,50).until(lambda driver: driver.find_element_by_xpath(inp_xpath_search))

like.click()
time.sleep(2)

driver.quit()

【讨论】:

  • 她不在。代码以“成功”结尾,尽管没有任何操作
猜你喜欢
  • 1970-01-01
  • 2021-02-20
  • 2019-01-26
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 1970-01-01
  • 2019-11-28
相关资源
最近更新 更多