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()
我正在尝试 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()