【问题标题】:Access Dropdown menu on webpage with Python使用 Python 访问网页上的下拉菜单
【发布时间】:2016-08-09 18:59:42
【问题描述】:

我正在尝试编写一个 Python 脚本来访问网页 (http://www.yeastgenome.org/locus/S000001142/overview) 并下载 (DNA 序列, fasta) 文件。单击下拉菜单会自动下载文件。

这是下拉菜单:

下载 (.fsa)

其中一个选项例如是:

基因组 DNA +/- 1kb

有人可以指点我正确的方向吗,该怎么做?

Selenium 模块?

非常感谢!!

【问题讨论】:

    标签: html css python-3.x selenium


    【解决方案1】:

    您基本上想要导航到页面,单击下拉菜单将其打开,然后单击所需的选择。您将需要等待几次......一个等待页面底部加载并显示下拉菜单,另一个短暂的暂停以等待下拉菜单打开。

    from selenium.webdriver.support import expected_conditions as EC
    driver.get("http://www.yeastgenome.org/locus/S000001142/overview")
    wait = WebDriverWait(driver, 4)
    wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a.dropdown"))).click()
    option = "Protein" // change to the desired option in the dropdown... must be EXACT text
    wait.until(EC.element_to_be_clickable((By.XPATH,"//ul[contains(@class,'open')]/li/a[text()='" + option + "']"))).click()
    

    【讨论】:

    • 反对票的任何 cmet?这段代码在 Java 中工作......我只是将它转换为 python。
    • 我知道原因..您提供的代码中有很多错误,问题在最后一行您期望cssSelector 但提供xpath..它是By.CSS_SELECTOR 而不是By.CSS而且您还没有定义什么是EC,我知道它是expected_conditions as EC,但是如果不定义它,OP 永远不会知道..希望您理解原因....:)
    • @SaurabhGaur 感谢您的解释。我没有意识到我犯了这么多错误。我不使用python,所以我无法验证。我一定是从另一个不好的来源引用并复制了一些代码。我现在修好了。
    • 没问题。我也确定了反对票..感谢您询问反对票...:)
    猜你喜欢
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2020-11-16
    • 2022-11-28
    相关资源
    最近更新 更多