python - 无法使用 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'] )
解决方案
推荐阅读
- amazon-web-services - S3 和加密的 SQS 集成问题
- python - 为低于或超过列中指定的最小值/最大值的值过滤数据框
- python - python ldap中的身份验证
- php - 如何在不刷新的情况下执行 jquery ajax 来重新加载我的数据
- javascript - 无法使用 datefns 解析日期
- reactjs - 如何在不重新渲染 Next.js 的情况下更改路线?
- python - 从python数据框中的文本列中获取唯一时间戳的计数
- javascript - 按每个列表有多少值对列表列表进行排序
- ios - UIButton 有阴影旋转没有阴影旋转
- arrays - 在 Fortran 中创建包含其他声明变量的数组