【问题标题】:I have a list of buttons and I can't access them我有一个按钮列表,但我无法访问它们
【发布时间】:2020-04-15 17:46:51
【问题描述】:

我有一个按钮列表,我试图将它们全部放入一个数组中以逐个单击。

<ul> 
<li class="listFUTItem has-auction-data selected"><button class="ut-image-button-control btnAction"></button></li>
<li class="listFUTItem has-auction-data"><button class="ut-image-button-control btnAction"></button></li>
<li class="listFUTItem has-auction-data"><button class="ut-image-button-control btnAction"></button></li>
</ul>

我试过这样的。

clicks = (driver.find_elements_by_class_name('ut-image-button-control'))
for c in clicks:
    c.click()

但它没有用。有人可以帮我写一个新代码(一个新的 find_element_by ....)什么的吗?

更新:

这是我想点击每个按钮的列表。

【问题讨论】:

  • 我现在去看看

标签: python python-2.7 selenium selenium-webdriver webdriver


【解决方案1】:

点击每个按钮。诱导WebDriverWait() 和visibility_of_all_elements_located() 并遵循 css 选择器。

clicks=WebDriverWait(driver,10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,"button.ut-image-button-control.btnAction")))
for c in clicks:
    c.click()

您需要导入以下库。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

【讨论】:

  • visibility_of_all_elements_located()这个方法会获取页面中的所有按钮吗?
  • 是的,您将从页面中获取所有按钮。
  • 现在我得到下一个没有消息的错误:TimeoutException: Message:
  • 我已经按照你说的方法使用了,然后当我点击Tkinter按钮时尝试使用它
  • 你能试试这个css选择器吗:li.istFUTItem.has-auction-data&gt;button.ut-image-button-control.btnAction
猜你喜欢
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 2013-06-17
  • 2014-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多