javascript - 单击带有 selenium 的 javascript 链接

标签 javascript python selenium iframe

我通过一个网站生成了一份报告,我试图点击一个将数据导出到 csv 文件的链接。

元素是:

    <span class="x21">
    <a style="color:#0000FF" href="javascript:JCRTYP('https://www.merchantconnect.com/CWRWeb/download.do?','CRCRDTYP','1','9507508464','01-FEB-2015','28-FEB-2015','14','2350','67156','WINN DIXIE 0283    S91','ALL','COMT');">
Comma Separated Value (CSV) </a>
        </span>

我现在所拥有的是切换到 iframe 并通过 xpath 单击它。但是,它会抛出错误“无法定位元素”。我什至尝试过不切换到 iframe。

driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))

driver.find_element_by_xpath("html/body/table/tbody/tr[1]/td/table/tbody/tr[7]/td/span[4]/a").click()

iframe 源是:

<div class="iframes">
                <iframe style="width: 100%; height: 500px" name="FRAME1" src="/CWRWeb/nova/jsp/reports/running.jsp" align="middle" frameborder="no" height="500px" width="100%"></iframe>
                </div>

有什么建议吗?

谢谢

最佳答案

按名称切换到 iframe:

driver.switch_to.frame("FRAME1")

并通过链接文本定位链接:

driver.find_element_by_partial_link_text("Comma Separated Value (CSV)")

关于javascript - 单击带有 selenium 的 javascript 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32483125/

相关文章:

python - plotly/破折号 : is it possible to hide tick labels of a secondary y axis?

Python:类:调用同一个类中的函数

python - 获取字典中的最大值和最小值

java - Selenium(Java) 中两个字段之间的复制和粘贴

javascript - 尝试使用 HTML5 和 CSS 创建子菜单

javascript - 安全地将敏感数据从 PHP 传递到 javascript

java - 如何使用 Selenium 和 Java 单击文本为 Ok 的元素

java - Until 方法不抛出 timeoutException

javascript - 如何在 Katex 中创建换行符?

javascript - jQuery DataTables 无法在搜索中使用特殊字符