3 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
嘗試以下操作
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>復(fù)制選擇器

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
從Induce和()中得到“正向引物”、“反向引物”和“產(chǎn)物長(zhǎng)度”的值。Primer pair 1WebDriverWait()visibility_of_element_locatedXPath
1.創(chuàng)建一個(gè)項(xiàng)目列表,然后進(jìn)行迭代。
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
要從所有引物對(duì)獲取數(shù)據(jù),請(qǐng)嘗試此操作。
1.創(chuàng)建引物列表,然后迭代。
2.創(chuàng)建項(xiàng)目列表,然后進(jìn)行迭代。
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
==========================================
希望這可以幫助。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試以下代碼:
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)
您可以更改字符串值。
出現(xiàn)此錯(cuò)誤TypeError: 'str' object is not callable是因?yàn)槟谶@一行中出錯(cuò):
pair_1 = driver.find_element(By.XPATH("the value"))
它應(yīng)該:
pair_1 = driver.find_element(By.XPATH, "the value")
- 3 回答
- 0 關(guān)注
- 192 瀏覽
添加回答
舉報(bào)