无法通过 Instagram 定位/与按钮交互。硒
Posted
技术标签:
【中文标题】无法通过 Instagram 定位/与按钮交互。硒【英文标题】:Can't locate / interact with button on Instargram via. selenium 【发布时间】:2022-01-13 20:09:21 【问题描述】:我正在尝试使用 selenium 创建一个简单的 python 程序,该程序需要找到并单击关注按钮。
这是 html 代码:
<div class=" qF0y9 Igw0E rBNOH YBx95 ybXk5 _4EzTm soMvl " id="f2d16737c928a4">
<button class="sqdOP L3NKy y3zKF " type="button">Abonnieren</button>
</div>
我的python代码:
example = driver.find_element_by_xpath("//button[contains(@class,'sqdOP L3NKy y3zKF ')]")
example.click
每次我尝试它都会给我:“selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element”
如果您想查看该网站,您需要登录并转到 Instagram 建议您应该关注的人的建议页面:https://www.instagram.com/explore/people/
【问题讨论】:
这个按钮是你试图点击关注按钮吗? @Luke Hamilton 是的 让我知道您对我的回答的看法!乐于助人。 【参考方案1】:driver.find_element_by_xpath("//button[.='Abonnieren']").click()
只需查找带有该文本的按钮并单击它。
【讨论】:
【参考方案2】:您共享的 XPATH 似乎是一个随机字符串,不会轻易地在其他关注按钮中迭代。我建议您通过 HTML 页面获取“完整的 XPATH”,这样您就可以进行循环操作。点击关注按钮的循环见以下代码:
count=1
while True:
try:
driver.find_element_by_xpath("/html/body/div[1]/div/div/section/main/div/div[2]/div/div/div["+str(count)+")]/div[3]/button").click()
count=count+1
except:
break
【讨论】:
以上是关于无法通过 Instagram 定位/与按钮交互。硒的主要内容,如果未能解决你的问题,请参考以下文章
当元素不是按钮且在 Selenium 中不可定位时,如何查找在网页中单击了哪个元素? (HTML,硒)[关闭]
有没有办法阻止硒被重定向到登录?不使用 api 抓取 Instagram
如何使用 selenium (Python) 定位 Instagram 关注按钮
如何解决硒循环中的这个错误? InvalidSelectorException:消息:无效选择器:无法使用 xpath 定位元素