python - 使用 selenium 从下拉菜单中选择

标签 python selenium menu dropdown

我正在尝试在 python 中选择带有 selenium 的下拉列表。 我无法让它工作。我尝试过通过 xpath“单击”不同的链接,它有效。但我无法弄清楚下拉菜单。

这是我尝试使用的代码:

path = r"C:\Program Files\chromedriver_win32\chromedriver.exe"
driver = webdriver.Chrome(path)

driver.get("http://elpris.dk")

driver.find_element_by_xpath("""//*[@id="btnSelectProfile"]""").click()

最佳答案

该网页是使用 Angular JS 编写的,可以动态加载数据。因此,请使用 WebDriverWait 以便正确加载页面。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

path = r"C:\Program Files\chromedriver_win32\chromedriver.exe"

driver = webdriver.Chrome(path)
driver.get("http://elpris.dk")
delay = 15
wait = WebDriverWait(driver, delay)
try:
    elem = wait.until(
           EC.element_to_be_clickable((By.ID, 'btnSelectProfile')))
    elem.click()
except Exception as e:
    print(e)        

另一个选择是添加一些 sleep 来等待数据正确加载,如下所示:

import time
path = r"C:\Program Files\chromedriver_win32\chromedriver.exe"
driver = webdriver.Chrome(path)

driver.get("http://elpris.dk")
time.sleep(3)
driver.find_element_by_xpath("""//*[@id="btnSelectProfile"]""").click()

然后点击就可以了。

关于python - 使用 selenium 从下拉菜单中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58341319/

相关文章:

java - 对多个数组元素执行 JUnit 断言 - 当一个元素失败时如何处理?

c# - 如何设置 Firefox 配置文件 : Selenium RC, .Net 客户端驱动程序?

python - Azure blob存储目录下载(win,python)

javascript - WebRTC - 'RTCPeerConnection' : The ICE candidate could not be added

ruby - 如何使用 Selenium Webdriver 根据 div 的内容执行操作?

css - 下拉菜单在 Wordpress 主题网站上消失(WPLOOK 的 Blogolife 主题)

html - 关闭 Canvas 菜单不会在 Canvas 下滑动

html - 导航栏定位元素

python - 如何更改自定义用户模型的经理

python - Pandas - 根据索引替换值