当前位置: 首页 > 知识库问答 >
问题:

如何在selenium python中处理load more按钮

曾光誉
2023-03-14
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time

options = webdriver.FirefoxOptions()
options.add_argument('start-maximized')

browser = webdriver.Firefox(executable_path='./drivers/geckodriver')
browser.maximize_window()

url = 'https://www.instagram.com/p/CKCVIu2gDgn'
browser.get(url)
browser.implicitly_wait(10) #wait for 10 sec
load_more = browser.find_element(By.XPATH,'/html/body/div[1]/section/main/div/div[1]/article/div[3]/div[1]/ul/li/div/button/span').click()

共有1个答案

袁俊弼
2023-03-14

对于这种情况,您可能需要使用Selenium的excute_script特性,它基本上允许您在网页上执行Javascript。

下面的Javascript代码将在注释中找到按钮并单击它。

document.querySelector("button.dCJp8.afkep").click()

对于这样的壮举,您不会希望使用Selenium来单击它,因为Selenium试图尽可能模仿人类的行为。在这种情况下,Selenium将尝试找到按钮,如果它在页面上不可见(即,您需要滚动才能找到它),它将引发异常

driver.execute_script("document.querySelector('button.dCJp8.afkep').click()")
 类似资料:
  • 我正在尝试制作一个计算贷款利息的简单程序。我这里的代码可以工作,但只会在按下'c'键时显示结果。我如何改变逻辑,以便一旦'c'被按下,结果就会出现在屏幕上。任何的帮助都是非常感谢的。

  • 我创建了类型。当它打开它时,它会向我显示两个按钮:OK和Cancel。我想在按下取消按钮时处理该操作,但我不知道如何到达该操作。我怎么才能拿到?

  • 问题内容: 我在非Java和非Android领域拥有扎实的经验,正在学习Android。 我对不同领域有很多困惑,其中之一就是如何处理按钮单击。至少有4种方式(!!!),此处简要列出 为了保持一致性,我将列出它们: 在活动中具有该类的成员,并将其分配给将处理活动方法中的逻辑的实例。 在“ onCreate”活动方法中创建“ onClickListener”,然后使用setOnClickListen

  • 为了保持一致,我将列出它们: > 在活动中拥有类的成员,并将其分配给将在活动方法中处理逻辑的实例。 在'on Create'活动方法中创建'on ClickListener',并使用setOnClickListener将其分配给按钮 附言。我试着用谷歌搜索这个主题,但我找到的唯一的东西是描述“如何”做到这一点,而不是为什么它是好是坏。

  • 问题内容: 我想要一个文本区域,可以处理按 Tab 键的情况。 在默认情况下,如果您按 Tab 键,则焦点将离开文本区域。但是,当用户想要在文本区域中输入 Tab 键时会怎样呢? 我可以捕捉到此事件并将焦点返回到文本区域并将标签添加到 当前 光标位置吗? 问题答案:

  • 问题内容: 如何处理Java中的同时按键? 我正在尝试编写游戏,并且需要一次处理多个按键。 当我按住一个键(假设向前移动),然后按住另一个键(例如,向左转)时,将检测到新键,但不再检测到旧键。 问题答案: 一种方法是跟踪自己当前按下了哪些键。 当您收到keyPressed事件时,将新键添加到列表中;当您收到keyReleased事件时,请从列表中删除密钥。 然后,在游戏循环中,您可以根据按键列表中