找不到 selenium 的“关注”按钮 instagram 的 xpath
我尝试获取 Instagram 上以下按钮的 xpath,以实现自动取消关注软功能。 在此处输入图像描述
我发现它就像这样:
driver.find_element_by_xpath('//div[@class="qF0y9 Igw0E rBNOH YBx95 ybXk5 _4EzTm soMvl "]').click()
但我想遍历所有,,以下“按钮,但就像这样卡在第一个按钮上! 这是我的代码:
fBody = driver.find_element_by_xpath("//div[@class='isgrP']")
for i in range(1, 1500):
driver.find_element_by_xpath('//div[@class=" qF0y9 Igw0E rBNOH YBx95 ybXk5 _4EzTm soMvl "]').click()
#driver.find_element_by_xpath("//*[text()='Following']").click()
print("Am apasat follow")
sleep(5)
driver.find_element_by_xpath('//button[@class="aOOlW -Cab_ "]').click()
sleep(5)
driver.execute_script('arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;', fBody)
print("Ma bag la somn 1 min")
sleep(2)
print("salut")
I try to get the xpath for the following button on instagram making an automate unfollowing soft. enter image description here
I found it just like this:
driver.find_element_by_xpath('//div[@class="qF0y9 Igw0E rBNOH YBx95 ybXk5 _4EzTm soMvl "]').click()
But i want to itterate over all ,,Following" Buttons , but like this is stuck at the first one!
This is my Code:
fBody = driver.find_element_by_xpath("//div[@class='isgrP']")
for i in range(1, 1500):
driver.find_element_by_xpath('//div[@class=" qF0y9 Igw0E rBNOH YBx95 ybXk5 _4EzTm soMvl "]').click()
#driver.find_element_by_xpath("//*[text()='Following']").click()
print("Am apasat follow")
sleep(5)
driver.find_element_by_xpath('//button[@class="aOOlW -Cab_ "]').click()
sleep(5)
driver.execute_script('arguments[0].scrollTop = arguments[0].scrollTop + arguments[0].offsetHeight;', fBody)
print("Ma bag la somn 1 min")
sleep(2)
print("salut")
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Selenium 不“喜欢”属性中的空白或空白。
我建议使用 CSS 选择器并使用
*=
来查找包含以下内容的文本:避免使用空格或空格以及下划线 (_) 和连字符 (-) 作为元素的属性。
Selenium does Not "like" empty or white spaces in the attributes.
I suggest using a CSS selector and using
*=
in order to find text contains:Avoid using white or empty spaces and, underscores (_) and hyphens (-) for the element's attributes.
我认为元素的类别会发生变化,因为您的类别与我的不匹配。这是一个与“以下”按钮匹配的更通用的 XPath。
当在测试中使用它时,我发现它立即失败,除非我用明确的等待条件包围它。
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div//button[div[text()='Following']"))).click();
我将发布我的示例当 Instagram 不再出现连接问题时。
I think the classes on the elements change as yours do not match with mine. Here is a more generic XPath that matches the "following" button.
When using this in a test I found it instantly failing unless I surrounded it with an explicit wait condition.
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div//button[div[text()='Following']"))).click();
Ill post my example when Instagram stops giving me connectivity issues.