javascript - 如何使用 Selenium/Python 模拟 onclick (JavaScript)

标签 javascript python selenium

我正在使用 Python/Selenium 单击网站上的图标来下载文件。我知道如何使用 Selenium 单击常规按钮,但这个有点棘手,因为它不是常规按钮,而是进行 Javascript 调用。我尝试了几次 find_element_by 调用,但无法访问此元素。任何人都可以想出一种方法来使用 Selenium 调用来点击它吗?

当我检查网络浏览器中下载图标的元素时,我得到的是:

<a href="javascript: void(0)" class="pull-right margin-r" onclick="
                        document.theForm.action='/p1234/DownloadData';
                        $('#theForm').append($('<input>', {type:'hidden', name:'Download', value:'Download'})).submit();
                    "><img src="/images/download.png" title="Download" alt="Download" style="" border="0"></a>

提前致谢

最佳答案

如何通过 onclick 属性的一部分来定位元素:

driver.find_element_by_css_selector("a[onclick*=DownloadData]").click();

其中 *= 表示“包含”。

关于javascript - 如何使用 Selenium/Python 模拟 onclick (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36959718/

相关文章:

c# - Specflow:为许多场景大纲维护一个示例表

javascript - 使用我们自己的键将两个数组作为 json 对象推送

javascript - 按字母顺序对多个列表进行排序

javascript - 两次移动元素后元素顺序困惑

javascript - 如何使用正则表达式删除字符串中的方括号?

python - 为什么 'pip install mysqlclient' 在 ubuntu 18.04 LTS 中不工作

google-chrome - TravisCI 上的 Selenium with Headless Chrome(2016)

Python:点在最接近第三点的线上

python - 如何在 Python 中展平其中一列包含 json 对象的数据框?

java - 如何使用Chrome浏览器处理 "StaleElementReferenceException"