使用Selenium Python创建for循环以单击下拉项

时间:2018-09-07 10:08:27

标签: python python-3.x selenium for-loop selenium-webdriver

我正在尝试创建一个for循环: 1)点击下拉菜单项 2)添加评论 3)提交评论

整个循环将发生在同一页面本身中。 XPath是正确的,我可以一次单独执行这些行,但循环失败。我在这里做什么错了?

未给出特定错误消息

add_comments = driver.find_elements_by_class_name('add')
comments = driver.find_elements_by_xpath("//form[@class='addComment expand']//textarea[contains(@placeholder,'Add a comment')]")
submit_comments = driver.find_elements_by_xpath("//button[text()='Comment']")

i = 0

for add_comment in add_comments:
  for comment in comments:
    for submit_comment in submit_comments:
     WebDriverWait(driver, 5)
     add_comment.click()
     comment.click()
     comment.send_keys("Awesome Art")
     WebDriverWait(driver, 2)
     submit_comment.click()
     i += 1
     if i > 4:
        driver.close()

链接为https://society6.com/society?show=2,但由于它在我的帐户中,因此可能无效。这是屏幕截图+add comment button below images is the one which i want to click “ +添加评论是我要发表评论的部分

HTML在这里-

<form class="addComment expand" data-id="9647336">
                            <img src="https://ctl.s6img.com/society6/img/g2taHIrokQ01R_67jS8ulaWI2wk/h_150,w_150/users/avatar/~artwork/s6-original-art-uploads/society6/uploads/u/sul97/avatar_asset/d837ee10016843a3bba9ae3310cc338d" width="25" height="25">
                            <textarea placeholder="Add a comment..." data-button="9647336"></textarea>
                            <button id="b9647336">Comment</button>
                        </form>

0 个答案:

没有答案