我试图解析一个特定的网页,并提取关键字搜索的结果. 这是webpage 我希望能够提取一个列表中的结果(如["Q9NXG6","Q9H6G9"等].

我找不到执行此操作的确切定位器/语法:

For any find_elements(class_name, xpath etc), I either get 
InvalidSelectorException: invalid selector: An invalid or illegal selector was specified
(or)
selenium.webdriver.remote.webelement.WebElement

以下是到目前为止的代码:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

page = "https://www.uniprot.org/"

web = webdriver.Chrome()
web.get(page)
search_protein = "prolyl 4 hydroxylase"
search_tab = web.find_element(By.CSS_SELECTOR, "#root > div.N8ovH > div > main > div > div.hero-header__content > div > section > form > div.main-search__input-container > input[type=search]")
search_tab.send_keys(search_protein)
search_tab.send_keys(Keys.RETURN)
#print (web.current_url)
print (web.find_elements(?))

推荐答案

由于您只引用了一个页面,所以我删除了搜索方法,并将其包含在URL中,如下所示:

https://www.uniprot.org/uniprotkb?query=prolyl+4+hydroxylase

如果您需要程序使用其他搜索词,请删除查询并重新实现搜索.至于获取列表,每个元素都有class=BqBnJ个元素,因此可以使用以下方法:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time

page = "https://www.uniprot.org/uniprotkb?query=prolyl+4+hydroxylase"

web = webdriver.Chrome()
web.get(page)

# let page load
time.sleep(5)

# gets elements with class 'BqBnJ'
elements = web.find_elements(By.CLASS_NAME, "BqBnJ")

for element in elements:
    print(element.text)

web.close()

这将生成以下列表:

enter image description here

Python相关问答推荐

为什么我的代码会进入无限循环?

在Python中,如何才能/应该使用decorator 来实现函数多态性?

code _tkinter. Tcl错误:窗口路径名称错误.!按钮4"

如何终止带有队列的Python进程?+ 队列大小的错误?

Pydantic:如何将对象列表表示为dict(将列表序列化为dict)

Python plt.text中重叠,包adjust_text不起作用,如何修复?

如何使用没有Selenium的Python在百思买着陆页面上处理国家/地区 Select ?

类型错误:输入类型不支持ufuncisnan-在执行Mann-Whitney U测试时[SOLVED]

在Python Attrs包中,如何在field_Transformer函数中添加字段?

将输入管道传输到正在运行的Python脚本中

如何将Docker内部运行的mariadb与主机上Docker外部运行的Python脚本连接起来

从groupby执行计算后创建新的子框架

ODE集成中如何终止solve_ivp的无限运行

关于Python异步编程的问题和使用await/await def关键字

Pandas Data Wrangling/Dataframe Assignment

如何排除prefecture_related中查询集为空的实例?

幂集,其中每个元素可以是正或负""""

如何找出Pandas 图中的连续空值(NaN)?

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

使用__json__的 pyramid 在客户端返回意外格式