3 回答

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>復制選擇器

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
==========================================
希望這可以幫助。

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")
- 3 回答
- 0 關注
- 199 瀏覽
添加回答
舉報