猿问

Python Selenium 弹出窗口

所以,我决定让 TikTok 成为 massfollower,但只能登录。


from selenium.webdriver import Firefox

from time import sleep


browser = Firefox()


browser.get('https://www.tiktok.com/foryou?lang=ru')

login = browser.find_element_by_class_name('jsx-3665539393')

login.click()


sleep(10)


login2 = browser.find_element_by_class_name('channel-name-2Dwny')

login2.click()


它转到 TikTok 网站,然后按下登录按钮,然后出现弹出窗口(我希望这是正确的调用方式)。但是程序在这个弹出窗口中找不到元素,我认为我应该等待弹出窗口加载,但没有区别。


达令说
浏览 123回答 1
1回答

牧羊人nacy

您之后的元素位于内部,iframe您需要先切换到 iframe 才能访问该元素。Induce WebDriverWait() 和 wait for frame_to_be_available_and_switch_to_it() 以及跟随的 css 选择器。归纳WebDriverWait()并等待element_to_be_clickable()browser.get('https://www.tiktok.com/foryou?lang=ru')#Click on LoginWebDriverWait(browser,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a.jsx-3665539393"))).click()#Click cookeis buttonWebDriverWait(browser,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.button-wrapper>button"))).click()WebDriverWait(browser,10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe[src*='tiktok']")))browser.execute_script("arguments[0].click();",WebDriverWait(browser,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.close-modal-8dfIo"))))您需要导入以下库from selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import By
随时随地看视频慕课网APP

相关分类

Python
我要回答