【问题标题】:Click a button in an Instagram pop-up using Selenium使用 Selenium 在 Instagram 弹出窗口中单击一个按钮
【发布时间】:2021-05-15 11:13:32
【问题描述】:

我使用以下代码通过 Selenium 登录 Instagram:

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.instagram.com/")

time.sleep(1)

username = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]/div/label/input')
username.send_keys('username')

password = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[2]/div/label/input')
password.send_keys('password')

time.sleep(1)

loginbutton = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]/button/div')
loginbutton.click()

time.sleep(7)

notnow = driver.find_element_by_class_name("yWX7d") 
notnow.click()

time.sleep(3)

一切正常,但 Instagram 要求使用弹出窗口保存登录。如何在弹出窗口中按下“现在不”按钮?我试过使用xpath 没有成功。

【问题讨论】:

  • 尝试从这个post禁用 selenium 弹出窗口
  • 不工作。这仅适用于 chrome 弹出窗口。我要求从 instagram 弹出窗口。每当您登录 instagram 时,它都会询问是否在弹出窗口中保存登录信息。有两个按钮。保存登录或不现在。我想点击 Not now 按钮

标签: python selenium instagram


【解决方案1】:

尝试将Esc 发送到页面或此弹出窗口。

from selenium.webdriver.common.keys import Keys webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()

driver.find_element_by_xpath('pop_up_xpath').send_keys(Keys.ESCAPE)

【讨论】:

  • Escape 没有任何作用。谢谢我想通了。我增加了睡眠时间并且它起作用了
【解决方案2】:

试试这个:

driver.find_element_by_xpath("//button[contains(text(), 'Not Now')]").click()

【讨论】:

    猜你喜欢
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多