gpt4 book ai didi

javascript - 下拉列表和 Selenium with Python

转载 作者:行者123 更新时间:2023-11-28 10:41:43 25 4
gpt4 key购买 nike

我正在尝试开发代码来在能源比较网站上进行数据抓取。问题是,在这个网站中,它包含一些下拉列表(可能是 AJAX,但我不知道),所以即使我在提交信息时输入了正确的名称,页面也会给我两个错误。

-插入你的房屋表面(它不应该告诉我,因为当我按“我知道我的消耗”时,它是一种正在消失的形式) [正在进行]

-您必须插入您的城市(即使我输入了整个名称,我也不知道如何从selenium中单击下拉列表中的某个项目)[已解决]

这是代码:

from bs4 import BeautifulSoup as soup
from openpyxl import load_workbook
from openpyxl.styles import PatternFill, Font
from selenium import webdriver
from selenium.webdriver.common.by import By
import datetime
import os

#saving url
browser = webdriver.Chrome(executable_path=r"C:\Program Files(x86)\Google\Chrome\Application\chromedriver.exe")
my_url = 'https://comparateur.selectra.info'
#opening my connection and downloading the page
browser.get(my_url)
button = browser.find_elements_by_class_name('custom-control-indicator')[-1]
browser.execute_script("arguments[0].click();", button)
start = browser.find_element(By.XPATH, '//*[@id=\"no-cookie\"]/form/button')
start.click()
comp = browser.find_element(By.XPATH, '//*[@id=\"form-comparaison\"]/fieldset[1]/div[1]/div/label[1]')
comp.click()
cons = browser.find_element_by_class_name('know_consumption_yes')
browser.execute_script("arguments[0].click();", cons)
browser.execute_script("arguments[0].click();", cons)
kw = browser.find_element_by_id('annual-elec')
kw.send_keys("3200")
ville = browser.find_element_by_id('city')
ville.send_keys("Paris (75001)")
submit = browser.find_element_by_id('compare-offer')
submit.click()

提前致谢

最佳答案

我不确定你的选择器是否正确,因为没有 html,

尝试这些方法,它们应该大部分可以解决问题,

driver.get('url')

select = Select(driver.find_element_by_id('your_select_element_id here'))

# select by visible text
select.select_by_visible_text('Your option text here')

# select by value
select.select_by_value('option_value here')

另外,请引用此问题的答案

What is the correct way to select an using Selenium's Python WebDriver

关于javascript - 下拉列表和 Selenium with Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50800769/

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