在元素内部搜索似乎在 python selenium 中不起作用

在另一个元素中查找元素似乎没有按预期工作。


我有一个表,如果一行中的某些单元格为空,我想通过它迭代和更新记录。我正在获取要迭代的 webelement 列表。


它正确地遍历我通过使用打印语句确认的行。在每一行内,我想检查某个单元格是否为空,如果是则更新它。


for _ in range(len(total_records_to_update)):

    for record in self.driver.find_elements(*XPATH):

        try:

            WebDriverWait(self.driver, 3).until(

                lambda d: record.find_element_by_xpath('//td[10][normalize-space(.)="' + text_in_cell + '"]')

            )

            print("Cell is not empty, checking next one")

            continue

        except TimeoutException:

            update_record()

            break # page is refreshed, hence the outer loop

此代码仅更新第一条记录并跳过其余记录。我看到这些记录被迭代,但 WebDriverWait 立即返回 True。我还尝试了以下相同的结果:


WebDriverWait(record, 3).until(

    EC.presence_of_element_located((

        By.XPATH,

        "//td[10][normalize-space(.)='" + text_in_cell + "']"

    ))

)


一只斗牛犬
浏览 247回答 1
1回答

尚方宝剑之说

通过使用双斜线,//您可以选择从根开始的元素,选择当前子项td尝试使用./或./td[10]....
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python