【问题标题】:How to select certain button with selenium如何用硒选择某些按钮
【发布时间】:2019-11-06 02:33:52
【问题描述】:

我需要 selenium 来选择一个带有 html 代码的按钮:

<a href="stuMain.php?datasetID=31561">583</a>

有超过一千个按钮,每个按钮在 datasetID 和后面的数字中有两个不同的数字。我不需要选择某个按钮,我只需要一个带有第二个数字和 datasetID 的按钮。

我不知道该怎么做,我尝试按标签选择,但页面上的其他标签(“a”标签)没有链接到我想要的。

要按下的按钮示例:

<a href="stuMain.php?datasetID=31561">583</a>
<a href="stuMain.php?datasetID=31553">575</a>

不要按的例子:

<font color="red">579</font>
<a href="preview.php?datasetID=31557">View</a>

这是我尝试过的:

dataset = driver.find_element_by_tag_name('a')

dataset.click()

【问题讨论】:

  • 您是否尝试在代码中使用硒?请向我们提供您的一些代码
  • driver.find_element_by_xpath('//a[@href="'+url+'"]') URL 为 stuMain.php?datasetID=31561,因此您可以点击所需的链接
  • 这不起作用,它给出了错误 no such element
  • 只是说没有这样的元素 :)) 尝试更多地了解selenium
  • 可以多逻辑处理。也许您可以先尝试一下:stackoverflow.com/questions/21405267/… 如果它不起作用,我们可以解决。

标签: python html python-3.x selenium selenium-webdriver


【解决方案1】:

你可以这样做:

a = driver.execute_script("""
  return [...document.querySelectorAll('a[href*="datasetID="]')].find(a => a.innerText.match(/^\d+$/))
""")

在 python 中获取和过滤它们可能更简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-26
    • 2015-05-14
    • 2012-06-29
    • 2016-02-25
    • 2020-01-28
    • 2021-09-19
    • 2011-07-27
    • 1970-01-01
    相关资源
    最近更新 更多