【发布时间】:2019-05-16 01:25:38
【问题描述】:
我正在尝试使用 python 脚本和网络驱动程序自动点击 javscript 按钮,但是无论我如何尝试引用它似乎都不会激活 javscript 的元素。以下是我尝试点击按钮的网站摘录:
<li>
<a href="javascript:;" data-blogid="19079" id="picture-trigger">
<i class="glyphicon glyphicon-picture light-red"></i >
<span> Picture </span >
</a >
</li >
我尝试通过 CSS 选择器、XPATH 进行选择,当我看到元素被选中(运行时用虚线围绕它)时,什么也没有发生。
我也尝试了 .click() 和 .submit() 似乎都没有工作。这是我最近的尝试:
element = mydriver.find_element_by_id("picture-trigger")
element.click()
我认为问题可能出在 javascript:;从 Web 驱动程序调用时不会被触发,就像交互式用户点击它时一样,但我不知道如何自动点击它。
有更多网络驱动程序经验的人知道为什么这不起作用或我怎样才能让它起作用吗?
谢谢 布拉德
这是我手动点击按钮时的样子:
【问题讨论】:
-
嗨.. 我不确定我是否理解,
href操作是 javascript 无操作。您期望观察或发生什么? -
CSS 选择器和 xpath 是寻址元素的两种不同方式。你想用哪一个?
-
@omidN 我是说我已经尝试了这两种方法(使用 CSS 选择器 和 xpath),但似乎都无法使用 .click() 或 .submit() .但我可以看到正在选择正确的元素,所以我不明白为什么 .click 或 .submit 不会触发适当的 javascript。
-
@cody 当我以交互方式/手动方式单击元素时,会出现一个新窗口(我认为它实际上是一个或 打开并且页面的其余部分变暗)。但是当我尝试使用 webdriver 自动化它时,什么也没有发生。就好像我没有点击任何东西一样。澄清它是一个div(photobuttonholder)。
标签: javascript python selenium-webdriver xpath css-selectors