首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Selenium Python单击Instagram帖子

使用Selenium Python单击Instagram帖子
EN

Stack Overflow用户
提问于 2018-01-20 07:19:00
回答 1查看 1.9K关注 0票数 1

您好,我正在使用Selenium访问instagram个人资料,并单击第一篇文章。我使用的语言是python。例如,我试图打开配置文件instagram.com/yotta_life,我得到了first post的XPATH://*[@id=\"react-root\"]/section/main/article/div/div[1]/div[1]/div[1]/a/div/div[2]

我可以访问Selenium中的配置文件,但显示了错误消息Element is not clickable at point (1015, 635)

这是我的代码:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
def login(driver):
    username = "username"  # <username here>
    password = "password"  # <password here>

    # Load page
    driver.get("https://www.instagram.com/accounts/login/")

    # Login
    driver.find_element_by_xpath("//div/input[@name='username']").send_keys(username)
    driver.find_element_by_xpath("//div/input[@name='password']").send_keys(password)
    driver.find_element_by_xpath("//span/button").click()

    widgets_click = WebDriverWait(driver, 500000).until(
                    EC.element_to_be_clickable((By.XPATH, "/html/body/div[2]/div/div[2]/div/div/button"))
                )
    widgets_click.click()

def scrape(driver, account):

    # Load account page
    driver.get("https://www.instagram.com/{0}/".format(account))

    # This is the first post click which is not working
    postdivrow_click = WebDriverWait(driver, 500000).until(
                    EC.element_to_be_clickable((By.XPATH, "//*[@id=\"react-root\"]/section/main/article/div/div[1]/div[1]/div[1]/a/div/div[2]"))
                )
    postdivrow_click.click()

if __name__ == "__main__":

    chromedriver = "Documents/chromedriver"
    driver = webdriver.Chrome(chromedriver)
    try:
        login(driver)
        followers = scrape(driver, "yotta_life")
    finally:
        driver.quit()

这里的问题是元素是不可点击的。我想,我没有使用正确的XPATH。推荐的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-01-20 08:14:06

在这里,我必须使用

代码语言:javascript
复制
driver.execute_script("window.scrollTo(0, Y)")

Y是向下滚动页面的高度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48350906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档