我想获取 Messier 目录的名称和维基百科的页面我得到的名称在我不想获取的每个单元格中都有一个参考编号,这是我的代码:
url1 = "https://dr12.sdss.org/fields"
driver.get(url1)
driver.maximize_window()
from selenium.webdriver.common.keys import Keys
obj = []
ra = []
for i in range(2, 110):
try:
element1 = driver.find_element(By.ID, 'name')
element1.send_keys("M"+str(i))
element1.send_keys(Keys.ENTER)
time.sleep(5)
element1 = driver.find_element(By.ID, 'name')
element1.clear()
err = driver.find_element(By.CLASS_NAME, 'text-error')
except NoSuchElementException:
element2 = driver.find_element(By.XPATH, '/html/body/div/div[5]/div[2]/dl/dd[10]')
obj.append("M"+str(i).strip())
ra.append(element2.text)
driver.quit()
print(obj)
print(ra)
driver2 = webdriver.Chrome(ChromeDriverManager().install())
url2 = "https://es.wikipedia.org/wiki/Anexo:Objetos_Messier"
driver2.get(url2)
driver2.maximize_window()
distance = driver2.find_elements(By.XPATH, '//*[@id="mw-content-text"]/div[1]/table/tbody/tr/td[6]')
Obj_dist = driver2.find_elements(By.XPATH, '//*[@id="mw-content-text"]/div[1]/table/tbody/tr/td[1]')
ob_dist = []
for idx, i in enumerate(Obj_dist):
oist = i.text.strip()
ob_dist.append(oist)
dist = []
for idx, i in enumerate(distance):
distan = i.text.strip()
if distan and ob_dist[idx] in obj:
dist.append(float(distan.replace(",", ".").replace(" ", ".")))
else:
dist.append(np.NaN)
driver2.quit()
dist
输出应该是
ob_dist
的名字应该和obj
一样。
代码的其他部分有一些东西,但这不是问题,问题是通过使用
i.text
我得到了单元格的所有文本(包括参考号,这是我不知道的想要)。
我不知道该怎么做。感谢阅读