gpt4 book ai didi

python - selenium 中 'Select(driver.find_element_by_id(' id_of_element')) 中的 id_by_element 是什么

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:23 24 4
gpt4 key购买 nike

我想在 this 上使用 Selenium 页面,在“按植物性食物搜索”的框中输入“22663”,然后单击“食物疾病协会”;然后点击页面底部的提交(然后,作为一个更大的图片,然后点击下一页的“植物疾病关联”,然后导出植物疾病表)。

我正在关注 these说明,我写了这段代码:

import sys
import pandas as pd
from bs4 import BeautifulSoup
import selenium
from selenium import webdriver
from selenium.webdriver.support.ui import Select
import csv
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary


url = 'http://147.8.185.62/services/NutriChem-2.0/'
driver = webdriver.Firefox(executable_path='/Users/kela/Desktop/scripts/scraping/geckodriver')
driver.get(url)

element = driver.find_element_by_id("input_food_name")
element.send_keys("22663")

#click food-disease association
element = driver.find_element_by_xpath("//select[@name='food_search_section']")
all_options = element.find_elements_by_tag_name("option")

接下来的两行是我遇到的问题:

element = Select(driver.find_element_by_id('food_input'))
element.select_by_value('food_disease')

我收到错误:

selenium.common.exceptions.UnexpectedTagNameException: Message: Select only works on <select> elements, not on <td>

我的问题是我不明白 this页面,在我的案例中指的是什么“id_of_element”(能够在“植物性食物搜索”部分中选择食物-疾病关联);因此,例如,我在以下代码行中将 X 替换为什么,然后单击提交,并继续到下一页:

element = Select(driver.find_element_by_id('X'))
element.select_by_value('X')

最佳答案

使用 #food_input单独给你一个表格单元格 <td> , 您需要选择 <select>它下面的元素

改变

element = Select(driver.find_element_by_id('food_input'))

进入

element = Select(driver.find_element_by_css_selector('#food_input select'))

或者只是

element = Select(driver.find_element_by_css_selector('[name=food_search_section]'))

<select> 为目标元素。

关于python - selenium 中 'Select(driver.find_element_by_id(' id_of_element')) 中的 id_by_element 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57124052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com