我是否需要创建某种列表并告诉它单击列表中的每个项目?有没有办法写“全部点击”?
这是我的代码看起来像(我删除了登录代码):
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysbrowser = webdriver.firefox()browser.set_window_size(650,700)browser.get('http://iconosquare.com/vIEwer.PHP#/tag/searchterm/grID')mobile = browser.find_element_by_ID('open-menu-mobile')mobile.click()search = browser.find_element_by_ID('getSearch')search.click()search.send_keys('input search term' + Keys.RETURN)#this gets me to the page I want to click the likesfitness = browser.find_element_by_CSS_selector("a[href*='fitness/']")fitness.click()#here are the different codes I've trIEd to use to click all of the "like buttons"#trIEd to create a List of all elements with "like" in the ID and click on all of them. It dIDn't work.like = browser.find_elements_by_ID('like')for x in range(0,len(like)): if like[x].is_displayed(): like[x].click()#trIEd to create a List by class and click on everything within the List and it dIDn't work.like = browser.find_elements_by_class_name('like_picto_unselected')like.click()AttributeError: 'List' object has no attribute 'click'
我知道我不能点击一个列表,因为它不是一个单独的对象,但我不知道我会怎么做.
非常感谢您的帮助.
解决方法 这很不幸,你有两半的整体,你找不到ID的多个元素,因为ID对于单个元素是唯一的.所以将你使用的迭代方法与ID和使用类的元素的find相结合,得到:
like = browser.find_elements_by_class_name('like_picto_unselected')for x in range(0,len(like)): if like[x].is_displayed(): like[x].click()
我强烈怀疑这对你有用.如果没有,请告诉我.
总结以上是内存溢出为你收集整理的在Python中使用Selenium单击具有相同类名的所有元素全部内容,希望文章能够帮你解决在Python中使用Selenium单击具有相同类名的所有元素所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)