如何解决python selenium instagrambot-用于范围循环中的我如果声明
请原谅我编码方面的知识。 好的,所以我的问题是循环出现的,我无法从任何地方找到答案,并且尝试了许多不同的事情,所以我决定从这里询问。
因此,基本上,该漫游器会使用1个主题标签并单击图片,此后,它会继续喜欢并按顺序关注它们,而当我已经关注该人时,问题就来了。 因此,我尝试使(if)语句取消遵循(如果已遵循)。
例如,循环很好地进行了一轮,让我们说它喜欢的第一张图片,然后跟随..之后,它不单击下一个箭头,而是单击不喜欢并跟随,但是这次由于原因而出错了。
对不起,我无法使代码看起来比这还干净,我不确定这里是否需要(else:)。
代码:`
import selenium
from selenium import webdriver
from time import sleep
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://instagram.com")
sleep(4)
driver.find_element_by_xpath(("//input[@name=\"username\"]"))\
.send_keys(("usernamehere"))
driver.find_element_by_xpath(("//input[@name=\"password\"]"))\
.send_keys(("passwordhere"))
driver.find_element_by_xpath(('//*[@id="loginForm"]/div/div[3]/button'))\
.click()
sleep(4)
driver.find_element_by_xpath(('//*[@id="react-root"]/section/main/div/div/div/div/button'))\
.click()
driver.find_element_by_xpath(('/html/body/div[4]/div/div/div/div[3]/button[2]'))\
.click()
hashtag_input = driver.find_element_by_xpath(('//*[@id="react-root"]/section/nav/div[2]/div/div/div[2]/input'))
hashtag_input.send_keys("hashtagsomething")
sleep(2)
driver.find_element_by_xpath(('//*[@id="react-root"]/section/nav/div[2]/div/div/div[2]/div[3]/div[2]/div/a[1]'))\
.click()
sleep(4)
#clicks first picture
driver.find_element_by_xpath(('//*[@id="react-root"]/section/main/article/div[1]/div/div/div[3]/div[1]/a/div'))\
.click()
sleep(2)
for i in range(100):
#likes
driver.find_element_by_xpath("/html/body/div[4]/div[2]/div/article/div[3]/section[1]/span[1]
/button")\
.click()
sleep(2)
#follows
driver.find_element_by_xpath("/html/body/div[4]/div[2]/div/article/header/div[2]/div[1]/div[2]/button")\
.click()
sleep(2)
#if already following
myelement = driver.find_element_by_xpath("/html/body/div[5]/div/div/div/div[3]/button[1]")
if myelement.is_displayed():
myelement.click()
# clicksnextarrow
else: driver.find_element_by_xpath("/html/body/div[4]/div[1]/div/div/a[2]")\
.click()
sleep(3)
` 我得到的错误是: 追溯(最近一次通话): 在第43行的“ C:\ Users \ Omistaja \ Desktop \ sublime \ seleniumtesti.py”文件中 myelement = driver.find_element_by_xpath(“ / html / body / div [5] / div / div / div / div / div [3] / button [1]”) 在find_element_by_xpath的第394行中,文件“ C:\ Users \ Omistaja \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python38 \ site-packages \ selenium \ webdriver \ remote \ webdriver.py” 返回self.find_element(by = By.XPATH,value = xpath) 在find_element的第976行中,文件“ C:\ Users \ Omistaja \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python38 \ site-packages \ selenium \ webdriver \ remote \ webdriver.py” 返回self.execute(Command.FIND_ELEMENT,{ 在执行的文件“ C:\ Users \ Omistaja \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python38 \ site-packages \ selenium \ webdriver \ remote \ webdriver.py”中执行 self.error_handler.check_response(响应) 文件“ C:\ Users \ Omistaja \ AppData \ Local \ Packages \ PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0 \ LocalCache \ local-packages \ Python38 \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py”,行242,在check_response中 引发exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“方法”:“ xpath”,“选择器”:“ / html / body / div [5] / div / div / div / div / div [3] /按钮[1]“} (会话信息:chrome = 84.0.4147.125)
感谢您的时间
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。