Selenium操作动态表格首行元素报错问题求助
动态表格Selenium定位问题求助
我在处理网页动态生成的表格交互时遇到问题,编写了以下Python Selenium代码用于定位表格并操作首行:
def find_table(browser:object, th:int, header:str, select_first=False, double_click_first=False): for index, head in enumerate(browser.find_elements(By.XPATH, f"//th[{th}]")): print(head.text) if head.text == header: break print(index) tables = browser.find_elements(By.XPATH, "//table") print(len(tables)) main_table = tables[index] test = main_table.find_element(By.XPATH, ".//tr[1]/td[3]").text print(test) if select_first == True: main_table.find_element(By.XPATH, f".//tr[1]/td[{th}]").click() if double_click_first == True: first_row = main_table.find_element(By.XPATH, f".//tr[1]/td[{th}]") action = ActionChains(browser) action.double_click(first_row).perform()
第一个表格(XPath路径:
/html/body/div[2]/div/div[1]/form[2]/div/div/div/div/div/div/div/div[2]/div[3]/div/div/div/table/tbody/tr[1]/td[4]
)能正常工作,但第二个表格(XPath路径:
/html/body/div[4]/div/div/div/div/div[2]/div/div/div/div[2]/div/div/div/div/div/div[17]/div/div/div[4]/div/div/div/div/div/div[2]/div[3]/div/div/table/tbody/tr[1]/td[3]
)抛出异常:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":".//tr[1]/td[3]"}
奇怪的是,打印信息显示表头文本、索引、表格总数均正确。
内容的提问来源于stack exchange,提问作者dukbiw
相关产品推荐
相关产品推荐

