【发布时间】:2022-01-17 08:37:30
【问题描述】:
我正在使用硒。我想自动化一个网络表单。有两个下拉菜单,我可以自动化第一个但我不能自动化第二个。第一个用于选择州,第二个用于选区。我已经尝试了 selenium select 提供的所有三种方法。但它总是给我这个错误:Could not locate element with visible text: RAJNANDGAON
代码如下:
from lib2to3.pgen2 import driver
from sre_parse import State
from tkinter.tix import Select
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import time
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), chrome_options=chrome_options)
driver.get("https://ssg2021.in/citizenfeedback")
time.sleep(5)
# selcting states
state_select = driver.find_element(By.XPATH,'//*[@id="State"]')
drp1 = Select(state_select)
drp1.select_by_visible_text('Chhattisgarh')
# selecting district
district_select = driver.find_element(By.XPATH,'//*[@id="District"]')
drp2 = Select(district_select)
drp2.select_by_visible_text('RAJNANDGAON')
【问题讨论】:
-
查看站点,也许您必须在填充其他下拉列表之前正确选择元素。首先尝试在非无头浏览器中执行此操作,或使用 screenshot() 方法查看 rajnandgaon 是否真的可见
-
另外,我注意到您导入了两次 select,一次来自 tkinter,一次来自 selenium,尝试来自 selenium 的一次似乎对我来说很好,尝试删除 tkinter 选择行或导入它作为别的东西
标签: python selenium selenium-webdriver webautomation