我想得到一个元素的内部html(使用get_attribute('innerHTML')),但它没有和id或class,并且有多个具有相同标记名称的元素
TEST1 = driver.find_elements_by_tag_name( “TD”)
这会获得具有相同标记名称的整个元素列表,但这不起作用,因为get_attribute不能使用多个元素
TEST2 = driver.find_element_by_tag_name( “TD”)
这可行,但获得了第一个td元素,但我想要第二个td元素
我该如何正确地做到这一点?
答案 0 :(得分:0)
你可以像下面这样使用xpath来获取表格中每一行的第二个td。
Sheet1.Rows("4:" & Rows.Count).Delete
如果您需要从特定的表中修改xpath以转到所需的表。
答案 1 :(得分:0)
根据您的问题,以下代码行将返回第一个td元素:
test2=driver.find_element_by_tag_name("td")
要检索第二个td元素中的文本,您可以使用以下任一行代码:
xpath
:
test2 = driver.find_element_by_xpath("//table//tr//following::td[2]").get_attribute("innerHTML")
css_selector
:
test2 = driver.find_element_by_css_selector("//table > tr > td:nth-last-child(2)").get_attribute("innerHTML")
注意:
调整初始部分xpath
的最后一部分和css_selector
肯定会识别第二部分{{ 1}}元素,但您可能需要根据<td>