首页 > 解决方案 > 无法使用 Selenium/有线文本弹出在 LinkedIn 上上传图片(data-artdeco-is-focused="true")

问题描述

我正在制作一个程序,它将自动在 LinkedIn 上发布图像。

它只能点击“照片”,之后它不会点击任何东西。

我发现当我尝试选择“选择要共享的图像”按钮时,它不起作用。

因此,我手动单击了“选择要共享的图像”按钮,然后在 HTML 代码的第二行中,这突然出现了

data-artdeco-is-focused="true"

而且,当我尝试通过单击浏览器上的 HTML 代码来复制它时,它会隐藏代码。

在此处输入图像描述

这是 HTML 代码:(<data-artdeco-is-focused="true"> 出现在下面 HTML 代码的第二行末尾)

<div class="image-sharing-detour-container">
    <input id="image-sharing-detour-container__file-input" class="image-sharing-detour-container__media-button visually-hidden" name="file" multiple="" filecountlimit="9" accept="image/gif,image/jpeg,image/jpg,image/png" type="file">
    <div class="image-sharing-detour-container__upload-media-button">
      <label for="image-sharing-detour-container__file-input" class="artdeco-button artdeco-button--tertiary">
        Select images to share
      </label>
    </div>
<!---->    <div class="share-box-footer ">
  <div class="share-box-footer__main-actions">
      <button id="ember421" class="artdeco-button artdeco-button--2 artdeco-button--secondary ember-view" type="button"><!---->
<span class="artdeco-button__text">
    Cancel
</span></button>
          <button disabled="" id="ember422" class="ml2 artdeco-button artdeco-button--2 artdeco-button--primary artdeco-button--disabled ember-view" type="button"><!---->
<span class="artdeco-button__text">
    Done
</span></button>
      </div>
</div>
</div>

到目前为止,这是我的 python 代码;

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import sleep as slp


#open browser & visit linkedin
driver = webdriver.Chrome("/Users/....../chromedriver")
driver.get('https://www.linkedin.com/')


#enter user/pass & click submit
username = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='session_key']")))
password = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='session_password']")))

username.clear()
username.send_keys("user@gmail.com")
password.clear()
password.send_keys("mypasswordhere")

button = WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[type='submit']"))).click()


#go to company page
checkpoint = driver.get('https://www.linkedin.com/company/1234567/admin/')


#click on photo and add an image
addphoto = driver.execute_script("arguments[0].click();", driver.find_element_by_xpath("//button[@aria-label='Add a photo']"))

(编辑:这是HTML 代码中的//button[@aria-label='Add a photo'] )

在此处输入图像描述

标签: pythonhtmlcssseleniumselenium-webdriver

解决方案


推荐阅读