我试图遍历由匹配类名返回的许多元素,这些元素存储在数组users
中。print(len(users))
输出为12,这对于返回的数量是正确的。这是我的代码:
def follow():
time.sleep(2)
# iterate here
users = []
users = browser.find_elements_by_class_name('wo9IH')
print(len(users))
for user in users:
user_button = browser.find_element_by_css_selector('li.wo9IH div.Pkbci').click()
#user_button = browser.find_element_by_xpath('//div[@class="Pkbci"]/button').click()
但是,目前只有索引[0]正在.click()
'd,并且程序在第一次单击后终止。为什么被迭代的索引不递增会有什么问题?在
资源:image-红色显示正在迭代的内容,蓝色表示每个按钮所处的位置
以列表形式查找所有css_选择器元素,然后迭代该列表以执行操作。click()
users = browser.find_elements_by_class_name('wo9IH')
返回也可以被转换的selenium.webdriver.remote.webelement.WebElement
实例的列表。在在迭代的实现中,忽略了关于列表中项目的上述事实,通过从
WebDriver
实例(即browser.find_element_by_css_selector
)横切页面源来搜索整个页面。在下面是如何在匹配的
WebElement
s中获取按钮:试试这个,
您可以直接生成
buttons
数组,而不是li
数组,Go click all按钮包含的文本为
Follow
,很简单
相关问题 更多 >
编程相关推荐