使用Selify和Python选择选项 [英] Selecting options using Selenium and Python

查看:30
本文介绍了使用Selify和Python选择选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道有几个Selence选项选择的例子。然而,我仍然不能在一个特定的网站中选择一个。 https://www.gks.ru/dbscripts/munst/munst20/DBInet.cgi 我想在左上角的选择栏中选择Excel选项。 该HTML是n个附件

我试着用这种方式接近酒吧

for option in el.find_elements(By.TAG_NAME,'option'):
    print(option.text)
    if option.text == 'CSV':
        option.click() # select() in earlier versions of webdriver
        break

我还使用了FIND_ELEMENTS BY CLASS和css_selector

然后我使用

select = Select(driver.find_element(By.TAG_NAME,'Select'))
select.select_by_visible_text('Excel')

它也找不到该元素

谁能帮帮忙?

推荐答案

要使用标记中选择文本为WebDriverWait,您需要为element_to_be_clickable()诱导WebDriverWait,您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTOR

    select = Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select.Select[name='Format']"))))
    select.select_by_visible_text("CSV")
    
  • 使用XPATH

    select = Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//select[@class='Select' and @name='Format']"))))
    select.select_by_visible_text("CSV")
    
  • 注意:您必须添加以下导入:

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

引用

您可以在以下位置找到几个相关讨论:

这篇关于使用Selify和Python选择选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆