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

2024-09-30 03:25:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用Selenium ChromeDriver点击多个按钮,应该很简单,我只是按类名找到按钮,因为它们都有相同的类名,循环遍历每个按钮并点击。 但是由于某些原因,如果我检查按钮的长度,它是0,就像它不在页面上。。。你知道吗

以下是HTML:

按钮1

<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>

按钮2

<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>

按钮3

<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()

Tags: nameiddata按钮classfaampspan
1条回答
网友
1楼 · 发布于 2024-09-30 03:25:51

复合类在CSS中是这样表示的

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

试着做

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

相关问题 更多 >

    热门问题