我正在尝试检测您管子上的跳过添加按钮与Selenium(python)



我正在使用空闲和硒。这是我的代码:

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.binary_location = "/usr/bin/chromium"
driver = webdriver.Chrome()
driver.get('https://www.youtube.com/')

def check_exist_by_class():
try:
driver.find_element_by_class_name("ytp-ad-skip-button ytp-button")
#time.sleep(1)
return 0
except NoSuchElementException:
#time.sleep(1)
return 1
while True:     
print(check_exist_by_class())
time.sleep(0.5)

即使"跳过添加"按钮可见,我也只能得到1。尝试使用x路径,但按钮的x路径会随窗口大小而更改。

更新-X路径不会随窗口侧而改变。它有点随机。知道如何用硒点击跳过添加按钮吗?

几个广告按钮的X路径:

***//*[@id="skip-button:3f"]/span/button
//*[@id="skip-button:2v"]/span/button
//*[@id="skip-button:2v"]/span/button
//*[@id="skip-button:a"]/span/button
//*[@id="skip-button:a"]/span/button
//*[@id="skip-button:a"]/span/button
//*[@id="skip-button:2b"]/span/button***

我知道这可能不是你想要的,但你也可以为Youtube获得一个广告屏蔽程序,并在Selenium:中加载该扩展

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
path_to_extension = r'C:UsersYOUR_USER_NAMEDesktop1.9.0_0'
chrome_options = Options()
chrome_options.add_argument('load-extension=' + path_to_extension)

driver = webdriver.Chrome(chrome_options=chrome_options)
driver.create_options()
driver.get("http://www.google.com")

最新更新