为了账号安全,请及时绑定邮箱和手机立即绑定

Python Selenium 弹出窗口

Python Selenium 弹出窗口

达令说 2023-03-30 16:52:58
所以,我决定让 TikTok 成为 massfollower,但只能登录。from selenium.webdriver import Firefoxfrom time import sleepbrowser = 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 网站,然后按下登录按钮,然后出现弹出窗口(我希望这是正确的调用方式)。但是程序在这个弹出窗口中找不到元素,我认为我应该等待弹出窗口加载,但没有区别。
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

您之后的元素位于内部,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 Login

WebDriverWait(browser,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a.jsx-3665539393"))).click()

#Click cookeis button

WebDriverWait(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 WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By


查看完整回答
反对 回复 2023-03-30
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信