簡體   English   中英

使用 Selenium 和 Python 在網頁的特定列中搜索文本

[英]Searching for text within a specific column in a webpage using Selenium with Python

我正在搜索的網頁有關鍵字的多個實例,但我有興趣在特定列中查找實例。 我需要使用多個術語進行搜索才能找到關鍵字和列標識符。 頁面上的整個表格都包含在“正文”中,因此沒有 header。找到關鍵字的適當實例后,我需要將兩列移到上方才能獲得正確的下載。

row = driver.find_element(By.XPATH, "//*[contains(text(), 'keyword')]")
tree = lxml.html.fromstring(row.parent.page_source)
element = tree.xpath("//*[contains(text(), 'keyword')]")[0]
root = tree.getroottree()
xpth = root.getpath(element)
pdf_xpath = xpth.replace('td[4]', 'td[6]')

關鍵字在 td[4] 中出現之前出現在 td[5] 中,並且 find_element 不會給出超過第一個實例。

'/html/body/div[2]/div[3]/div/div[4]/div[3]/div[2]/div/table/tbody/tr[62]/td[5]'
'/html/body/div[2]/div[3]/div/div[4]/div[3]/div[2]/div/table/tbody/tr[83]/td[4]'

第一個 xpath 是當前正在標記的內容,第二個是我要標記的內容,兩者具有相同的文本。

實現此目的的一種 hacky 方法可能是使用find_elements而不是find_element ,然后訪問您喜歡的元素。

rows = driver.find_elements(By.XPATH, "//*[contains(text(), 'keyword')]")
row_i_want = rows[1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM