我使用硒进行网络抓取:
from selenium import webdriver
path_to_chromedriver = '/usr/lib/chromium-browser/chromedriver'
browser = webdriver.Chrome(executable_path=path_to_chromedriver)
browser.get(url)
element = browser.find_element_by_id('email')
现在我有一个生成大量嵌套表的网站,似乎自动分配ID(可能并非每次都相同)。有一件事是可靠的,我感兴趣的表有一个单元格
<td>My Content</td>
是否有以下内容?
browser.find_element_by_text("<td>", text="My Content")
答案 0 :(得分:1)
是的,你也可以找到带文字匹配的元素:
使用xpath的contains()
方法:
browser.find_element_by_xpath("//td[contains(text(),'My Content')]")
它将找到与文本匹配的元素(我们可以将其用于部分匹配)
或者您可以使用text()
方法,例如:
browser.find_element_by_xpath("//td[text()='My Content']")
在这里你必须传递完整的字符串,包括空格。否则它不会工作