首页 > 解决方案 > 如何在表中循环以发送值

问题描述

以下是我的 HTML:

115px;">
                      <div class="v-table-cell-wrapper" style="width: 115px;">€&lt;/div>
                   </td>
                   <td class="v-table-cell-content" style="width: 87px;">
                      <div class="v-table-cell-wrapper" style="text-align: right; width: 87px;"></div>
                   </td>
                   <td class="v-table-cell-content" style="width: 170px;">
                      <div class="v-table-cell-wrapper" style="text-align: right; width: 170px;"><input type="text"

class="v-textfield v-textfield-text-align-right text-align-right" style="width: 153px;" maxlength="12"> 美国运通折扣 € MasterCard 折扣 € Visa Card 折扣 € Diners Card 折扣 € Japan Credit Bureau 折扣 € 中国银联折扣 € ALI PAY OFF € ZALANDO € WE CHAT OFF € BREUNINGER €

This is what I am writting:
```
Actual_Amount= wait.until(EC.element_to_be_clickable((By.XPATH,"//div[text()='Actual

数量']/ancestor::div[@class='v-table-header-wrap']/following-sibling::div/descendant::input")))

Actual_Amount.send_keys("0")
Actual_Amount.send_keys(Keys.ENTER)
for A in Actual_Amount:
    Actual_Amount.send_keys(A)
    Actual_Amount.send_keys(Keys.ENTER)

#print("This is my actual amount :" + (str)Actual_Amount)
Differnce= wait.until(EC.element_to_be_clickable((By.XPATH," //div[text()='Difference']/ancestor::div[@class='v-table-header-wrap']/following-sibling::div/descendant::td[5]/div[@class='v-table-cell-wrapper']"))).text
Actual_Amount= Differnce
print("This is my actual amount :" + Actual_Amount)

谁能告诉我正确的方法是什么?太感谢了

标签: pythonseleniumfor-loop

解决方案


根据您共享的 HTML,您可以遍历下表,如下所示:

代码 :

i = 1
difference_amount= []
for a_amount in driver.find_elements(By.XPATH, "//div[text()='Actual Amount']/ancestor::div[@class='v-table-header-wrap']/following-sibling::div/descendant::input"):
    ActionChains(driver).move_to_element(a_amount).perform()
    #ele_1= wait.until(EC.element_to_be_clickable((By.XPATH, f"(//div[text()='Actual Amount']/ancestor::div[@class='v-table-header-wrap']/following-sibling::div/descendant::input)[{i}]")))
    time.sleep(.5)
    a_amount.send_keys('0')
    time.sleep(.5)
    a_amount.send_keys(Keys.RETURN)
    time.sleep(.5)
    ActionChains(driver).move_to_element(wait.until(EC.visibility_of_element_located((By.XPATH, f"//div[text()='Difference']/ancestor::div[@class='v-table-header-wrap']/following-sibling::div/descendant::table/descendant::tr[{i}]/td[5]")))).perform()
    difference_amount.append(wait.until(EC.visibility_of_element_located((By.XPATH, f"//div[text()='Difference']/ancestor::div[@class='v-table-header-wrap']/following-sibling::div/descendant::table/descendant::tr[{i}]/td[5]"))).text.replace('-', ''))
    time.sleep(.5)
    i = i + 1

推荐阅读