for element in driver.find_elements_by_xpath('.//span[@data-bind = "text: $salableQuantityData.qty"]'):
elem = element.text
stock = int(elem)
if stock < 0 :
print(stock)
在此循环之后,必须再次单击此driver.find_element_by_xpath('.//button[@class="action-next"]').click()
,然后继续相同的循环。
注意:网络表格有5个分页,每个页面都有几个负值,我正尝试从所有页面获取负值。
答案 0 :(得分:1)
只是一个简单的函数包装,并在每次需要时调用它,如果我理解正确,则需要单击某种“下一页”按钮并继续,对吧?
def some_work():
for element in driver.find_elements_by_xpath('.//span[@data-bind = "text: $salableQuantityData.qty"]'):
elem = element.text
stock = int(elem)
if stock < 0 :
print(stock)
driver.find_element_by_xpath('.//button[@class="action-next"]').click()
some_work()
或仅嵌套在for / while循环中。为什么不?
尝试此操作以查找所有页面,直到未找到“ QuantityData”或“ action-next”为止。第一次见到硒,但他们的文档建议使用'NoSuchElementException'。
from selenium.common.exceptions import NoSuchElementException
while True:
try:
some_work()
except NoSuchElementException:
break
答案 1 :(得分:1)
如果我正确理解,您将需要一个功能。当您需要多次执行相同的操作时,会很整洁。