我正在尝试自动登录和取消关注Depop网站上的人员。单击所有“取消关注”按钮时遇到麻烦。每个按钮都有不同的ID和Class,它们之间的唯一相似之处是此HTML代码:
<span> Following <span>
是否可以用此HTMl代码单击每个按钮?
我已经尝试过找到所有按钮的XPath,但是由于它们太多,因此很难找到每个按钮的XPath。我也试图找到跟随按钮的类,但是它们都是不同的。 css选择器中没有相似之处。
我试图做这样的事情,但是没有成功。
driver.get_attribute('<span> Following </span>').click()
为获得最佳结果,程序将浏览该页面,而不关注当前正在关注的每个人。
答案 0 :(得分:0)
这是逻辑。
unfollows = driver.find_elements_by_xpath("//span[normalize-space(.)='Following']")
for btn in unfollows:
btn.click()
如果使用上述方法遇到staleElement异常,则必须遵循以下方法。
while len(driver.find_elements_by_xpath("//span[normalize-space(.)='Following']"))>0:
btn = driver.find_element_by_xpath("(//span[normalize-space(.)='Following'])[1]")
btn.location_once_scrolled_into_view
driver.execute_script("arguments[0].click();",btn)