使用Selify和Python选择选项

Selecting options using Selenium and Python(使用Selify和Python选择选项)
本文介绍了使用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')

它也找不到该元素

谁能帮帮忙?

推荐答案

要使用html-select从html-select标记中选择文本为select-options的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
    

引用

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

  • How to select an option from the dropdown menu using Selenium and Python

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

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)