如何选择“使用计算机”选择“选择” Instagram上的按钮,并使用SELENIUM(Python)使用send_keys()方法上传图像
尝试制作与Instagram交互的脚本/机器人(在Debugger模式下打开的Chrome上)并发布图像。
我已经设法使用硒单击[+]按钮,但是我无法处理“从计算机中选择”按钮,并使用send_keys()
方法直接发送图像。
到目前为止的代码:
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
opt = Options()
opt.add_experimental_option("debuggerAddress", "localhost:1124")
driver = webdriver.Chrome(executable_path = "C:\SeleniumDrivers\chromedriver.exe", chrome_options = opt)
uploadbutton = driver.find_element(By.CLASS_NAME, "_acub")
uploadbutton.click()
time.sleep(1)
uploadfile = driver.find_element(By.CSS_SELECTOR, "_acan _acap _acas")
uploadfile.send_keys("C:\\SeleniumDrivers\\ok.png")
发生错误:
c:\Users\arjun\Desktop\Python\InstaBot.py:12: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(executable_path = "C:\SeleniumDrivers\chromedriver.exe", chrome_options = opt)
c:\Users\arjun\Desktop\Python\InstaBot.py:12: DeprecationWarning: use options instead of chrome_options
driver = webdriver.Chrome(executable_path = "C:\SeleniumDrivers\chromedriver.exe", chrome_options = opt)
Traceback (most recent call last):
File "c:\Users\arjun\Desktop\Python\InstaBot.py", line 19, in <module>
uploadfile = driver.find_element(By.CSS_SELECTOR, "_acan _acap _acas")
File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 857, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 435, in execute
self.error_handler.check_response(response)
File "C:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"_acan _acap _acas"}
(Session info: chrome=103.0.5060.66)
Stacktrace:
Backtrace:
Ordinal0 [0x003B6463+2188387]
Ordinal0 [0x0034E461+1762401]
Ordinal0 [0x00263D78+802168]
Ordinal0 [0x00291880+989312]
Ordinal0 [0x00291B1B+989979]
Ordinal0 [0x002BE912+1173778]
Ordinal0 [0x002AC824+1099812]
Ordinal0 [0x002BCC22+1166370]
Ordinal0 [0x002AC5F6+1099254]
Ordinal0 [0x00286BE0+945120]
Ordinal0 [0x00287AD6+948950]
GetHandleVerifier [0x006571F2+2712546]
GetHandleVerifier [0x0064886D+2652765]
GetHandleVerifier [0x0044002A+520730]
GetHandleVerifier [0x0043EE06+516086]
Ordinal0 [0x0035468B+1787531]
Ordinal0 [0x00358E88+1805960]
Ordinal0 [0x00358F75+1806197]
Ordinal0 [0x00361DF1+1842673]
BaseThreadInitThunk [0x75216739+25]
RtlGetFullPathName_UEx [0x77498FEF+1215]
RtlGetFullPathName_UEx [0x77498FBD+1165]
任何帮助将不胜感激。
Trying to make a script/bot that interacts with Instagram (on chrome opened in debugger mode) after manual login and posts images.
I have managed to click the [+] button using selenium however I cannot deal with the "Select From Computer" button and use the send_keys()
method to send images directly.
code so far:
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
opt = Options()
opt.add_experimental_option("debuggerAddress", "localhost:1124")
driver = webdriver.Chrome(executable_path = "C:\SeleniumDrivers\chromedriver.exe", chrome_options = opt)
uploadbutton = driver.find_element(By.CLASS_NAME, "_acub")
uploadbutton.click()
time.sleep(1)
uploadfile = driver.find_element(By.CSS_SELECTOR, "_acan _acap _acas")
uploadfile.send_keys("C:\\SeleniumDrivers\\ok.png")
the error occurred:
c:\Users\arjun\Desktop\Python\InstaBot.py:12: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(executable_path = "C:\SeleniumDrivers\chromedriver.exe", chrome_options = opt)
c:\Users\arjun\Desktop\Python\InstaBot.py:12: DeprecationWarning: use options instead of chrome_options
driver = webdriver.Chrome(executable_path = "C:\SeleniumDrivers\chromedriver.exe", chrome_options = opt)
Traceback (most recent call last):
File "c:\Users\arjun\Desktop\Python\InstaBot.py", line 19, in <module>
uploadfile = driver.find_element(By.CSS_SELECTOR, "_acan _acap _acas")
File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 857, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 435, in execute
self.error_handler.check_response(response)
File "C:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"_acan _acap _acas"}
(Session info: chrome=103.0.5060.66)
Stacktrace:
Backtrace:
Ordinal0 [0x003B6463+2188387]
Ordinal0 [0x0034E461+1762401]
Ordinal0 [0x00263D78+802168]
Ordinal0 [0x00291880+989312]
Ordinal0 [0x00291B1B+989979]
Ordinal0 [0x002BE912+1173778]
Ordinal0 [0x002AC824+1099812]
Ordinal0 [0x002BCC22+1166370]
Ordinal0 [0x002AC5F6+1099254]
Ordinal0 [0x00286BE0+945120]
Ordinal0 [0x00287AD6+948950]
GetHandleVerifier [0x006571F2+2712546]
GetHandleVerifier [0x0064886D+2652765]
GetHandleVerifier [0x0044002A+520730]
GetHandleVerifier [0x0043EE06+516086]
Ordinal0 [0x0035468B+1787531]
Ordinal0 [0x00358E88+1805960]
Ordinal0 [0x00358F75+1806197]
Ordinal0 [0x00361DF1+1842673]
BaseThreadInitThunk [0x75216739+25]
RtlGetFullPathName_UEx [0x77498FEF+1215]
RtlGetFullPathName_UEx [0x77498FBD+1165]
Any help would be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 instagram api 在Instagram上发布,将更加有效,更容易。
you can use Instagram API to post on Instagram, which would be more efficient and easier.