亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Selinium Python 獲取 td web-table 中的文本

如何使用 Selinium Python 獲取 td web-table 中的文本

慕的地6264312 2023-10-24 20:26:01
我正在嘗試從 td webtable 中提取文本,但無法找到該元素;該表沒有類或 ID,因此我嘗試使用 xpath 但沒有成功。任何幫助是極大的贊賞。driver = webdriver.Chrome(ChromeDriverManager().install())driver.get("https://www.ncbi.nlm.nih.gov/tools/primer-blast/primertool.cgi?ctg_time=1585700551&job_key=9P4rCho2F54woA2lAMUpl3reOKVXzSO4Vg&CheckStatus=Check")pair_1 = driver.find_element(By.XPATH("html/body/div[@id ='wrap']/div[@id='content-wrap']/div[@id='content']/div[contains(@class, ' ')]/div[contains(@class, ' ')]/div[contains(@class, 'ui-helper-resert')]/div[@id ='alignInfo']/div[@id ='alignments']/table/tbody/tr[2]/td[1]"))print(pair_1.text)#ORpair_1.get_attribute("innerHTML")print(pair_1)返回以下錯誤TypeError: 'str' object is not callable更簡單的 xpathpair_1 = driver.find_element_by_xpath("//table/tbody/tr[2]/td[1]")print(pair_1.text)返回這個Looking for [chromedriver 80.0.3987.06 mac6] driver in cache File found in cache by path [/Users/usr/.wdm/drivers/chromedriver/80.0.3987.06/mac6/chromedriver]網站和 HTML
查看完整描述

3 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

嘗試以下操作


import time


from selenium import webdriver


driver = webdriver.Chrome()

driver.get("https://www.ncbi.nlm.nih.gov/tools/primer-blast/primertool.cgi?ctg_time=1585700551&job_key=9P4rCho2F54woA2lAMUpl3reOKVXzSO4Vg&CheckStatus=Check")

time.sleep(2)


pair_1 = driver.find_element_by_css_selector(

    "#alignments > div:nth-child(1) > table > tbody > tr:nth-child(2) > td:nth-child(2)"

).get_attribute("innerHTML")



print(pair_1)

在 Windows 上,chrome 版本 80


選擇文本>右鍵單擊>檢查>右鍵單擊>檢查>右鍵單擊<td>復制選擇器

https://img1.sycdn.imooc.com/6537b8320001850105950223.jpg

https://img1.sycdn.imooc.com/6537b83b00010de305970440.jpg

查看完整回答
反對 回復 2023-10-24
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

從Induce和()中得到“正向引物”、“反向引物”和“產物長度”的值。Primer pair 1WebDriverWait()visibility_of_element_locatedXPath


1.創建一個項目列表,然后進行迭代。


from selenium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC


product_list=['Forward primer','Reverse primer','Product length']

driver=webdriver.Chrome()

driver.get("https://www.ncbi.nlm.nih.gov/tools/primer-blast/primertool.cgi?ctg_time=1585700551&job_key=9P4rCho2F54woA2lAMUpl3reOKVXzSO4Vg&CheckStatus=Check")

for item in product_list:

    print(WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//h2[text()='Primer pair 1']/following::table[1]//th[text()='{}']/following-sibling::td[1]".format(item)))).text)

輸出:


GAGGGCATACCCCTCGTAGA

CTGCCGTTTTCCGTAGGACT

506

要從所有引物對獲取數據,請嘗試此操作。


1.創建引物列表,然后迭代。


2.創建項目列表,然后進行迭代。


from selenium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC


driver=webdriver.Chrome()

driver.get("https://www.ncbi.nlm.nih.gov/tools/primer-blast/primertool.cgi?ctg_time=1585700551&job_key=9P4rCho2F54woA2lAMUpl3reOKVXzSO4Vg&CheckStatus=Check")


list_primerpairs=['Primer pair 1','Primer pair 2','Primer pair 3','Primer pair 4','Primer pair 5']

product_list=['Forward primer','Reverse primer','Product length']

for primer in list_primerpairs:

    print(primer)

    print("===========================================")

    for item in product_list:


        print(WebDriverWait(driver,15).until(EC.visibility_of_element_located((By.XPATH,"//h2[text()='{}']/following::table[1]//th[text()='{}']/following-sibling::td[1]".format(primer,item)))).text)

    print("==========================================")

輸出:


Primer pair 1

===========================================

GAGGGCATACCCCTCGTAGA

CTGCCGTTTTCCGTAGGACT

506

==========================================

Primer pair 2

===========================================

AGTCCTACGGAAAACGGCAG

GCTATTCTCGCAGCTCACCA

621

==========================================

Primer pair 3

===========================================

AGGTAGTCAGTCAGGTCCCG

TGCCGTTTTCCGTAGGACTC

558

==========================================

Primer pair 4

===========================================

AGGGCATACCCCTCGTAGAT

TCTGCCGTTTTCCGTAGGAC

506

==========================================

Primer pair 5

===========================================

GGGCATACCCCTCGTAGATG

GCCGTTTTCCGTAGGACTCT

502

==========================================

希望這可以幫助。


查看完整回答
反對 回復 2023-10-24
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

嘗試以下代碼:


driver.get('https://www.ncbi.nlm.nih.gov/tools/primer-blast/primertool.cgi?ctg_time=1585700551&job_key=9P4rCho2F54woA2lAMUpl3reOKVXzSO4Vg&CheckStatus=Check')


str1 = "Primer pair 1";

str2 = "Forward primer";

el = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//h2[text()='" +str1 +"']//following-sibling::table//th[text()='" +str2+"']//following-sibling::td[1]")))

print(el.text)

您可以更改字符串值。


出現此錯誤TypeError: 'str' object is not callable是因為您在這一行中出錯:


pair_1 = driver.find_element(By.XPATH("the value"))

它應該:


pair_1 = driver.find_element(By.XPATH, "the value")


查看完整回答
反對 回復 2023-10-24
  • 3 回答
  • 0 關注
  • 199 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號