python - 如何在表中循环以发送值
问题描述
以下是我的 HTML:
115px;"> <div class="v-table-cell-wrapper" style="width: 115px;">€</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)
谁能告诉我正确的方法是什么?太感谢了
解决方案
根据您共享的 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
推荐阅读
- html - 当 flex-wrap 内容超过正文高度时 CSS 额外间距
- java - 在 Eclipse 屏幕中另存为 UTF 8 错误。为什么程序没有运行?
- python - 如何为 Python 中唯一的项目测试多个集合?
- c++ - 二维数组的动态分配
- javascript - 如何让游戏继续玩,而不是只玩一次
- node.js - 如何在 json2xls 中添加标题样式?
- rest - 是否可以在 wso2 中翻译协议
- c++ - 从对象 C++ 中的文件读取内容时发生分段错误
- autodesk-forge - NodeJS Forge 查看器错误代码:9。没有可查看的内容
- azure-cosmosdb - 将数组添加到 cosmos graphdb 中的属性