在Python上使用Selenium单击多个按钮

时间:2019-09-09 15:08:46

标签: python selenium-webdriver

我试图用Selenium ChromeDriver单击多个按钮,应该很容易,我只是按类名找到按钮,因为它们都具有相同的类名,遍历每个按钮并单击。 但是由于某种原因,如果我检查Button的len为0,就好像它不在页面上...

这是HTML:

button1

<span data-fieldid="9537" id="bounceRatingOrderBtn" name="bounceRatingOrderBtn" class="viewCommand viewSize1 viewCommandGreenBtn" data-columnnum="1" data-showonload="1" data-defaultvalue="" data-isrequired="0" data-personalareaviewposition="manage_area" data-ispersonalareaviewable="1" data-ajax_path="//my.yad2.co.il/newOrder/index.php?action=updateBounceListing&amp;CatID=3&amp;SubCatID=0&amp;OrderID=39605635" data-viewcommandactive="1" data-originalelementname="input" xpath="1">  <i class="fa fa-arrow-up"></i> <span>הקפצת מודעה</span></span>

button2

<span data-fieldid="9537" id="bounceRatingOrderBtn" name="bounceRatingOrderBtn" class="viewCommand viewSize1 viewCommandGreenBtn" data-columnnum="1" data-showonload="1" data-defaultvalue="" data-isrequired="0" data-personalareaviewposition="manage_area" data-ispersonalareaviewable="1" data-ajax_path="//my.yad2.co.il/newOrder/index.php?action=updateBounceListing&amp;CatID=3&amp;SubCatID=0&amp;OrderID=39605688" data-viewcommandactive="1" data-originalelementname="input" xpath="1">  <i class="fa fa-arrow-up"></i> <span>הקפצת מודעה</span></span>

button3

<span data-fieldid="9537" id="bounceRatingOrderBtn" name="bounceRatingOrderBtn" class="viewCommand viewSize1 viewCommandGreenBtn" data-columnnum="1" data-showonload="1" data-defaultvalue="" data-isrequired="0" data-personalareaviewposition="manage_area" data-ispersonalareaviewable="1" data-ajax_path="//my.yad2.co.il/newOrder/index.php?action=updateBounceListing&amp;CatID=3&amp;SubCatID=0&amp;OrderID=39594079" data-viewcommandactive="1" data-originalelementname="input" xpath="1">  <i class="fa fa-arrow-up"></i> <span>הקפצת מודעה</span></span>

我的Python代码:

for i in driver.find_elements_by_class_name("viewCommand viewSize1 viewCommandGreenBtn"):
    print('here')
    i.click()

1 个答案:

答案 0 :(得分:0)

复合类在CSS中表示为

classOne.classTwo.classThree {
    //...
}

尝试做

for btn in driver.find_elements_by_css_selector('viewCommand.viewSize1.viewCommandGreenBtn'):
    btn.click()