Python Selenium - Select 仅适用于 <select> 元素,不适用于 <div>

Python Selenium - Select only works on <select> elements, not on <div>

我正在尝试 select 工作网站下拉框中的一个元素。 我对网络抓取 + selenium 有点陌生,需要一些指向正确方向的东西。 我发现的其他类似问题有一个更明显的id路径,可以与我的例子进行比较,所以我有点卡住了。

Screenshot of html and website layout

我想要 select 的选项似乎被 aria-activedescendant 值改变了,例如aria-activedescendant="react-select-3--option-5"

我试过下面的代码,但是在尝试这个的时候我在标题中遇到了错误。

select_element = driver.find_element(By.CLASS_NAME,'Select-input')
select_object = Select(select_element)
select_object.select_by_visible_text('Author')

您可以使用一系列 Keys.TAB 命令或 Keys.ARROW_DOWN 来获得所需的输入。使用这样的东西:

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

el = driver.find_element(By.CLASS_NAME,'Select-input').click()

action = ActionChains(driver)

action.send_keys(Keys.ARROW_DOWN)
action.send_keys(Keys.ARROW_DOWN)
action.send_keys(Keys.ARROW_DOWN)
action.send_keys(Keys.ENTER)
action.perform()