【问题标题】:Selenium python Expand and Collapse only if Button is Closed earlier仅当按钮较早关闭时,Selenium python 才展开和折叠
【发布时间】:2021-03-06 03:35:08
【问题描述】:

我有一个网站,只想点击并打开一个折叠/打开窗口。我的条件是只有当这个按钮没有打开时才打开它,否则继续下一步操作。 我需要在 selenium python 代码中添加什么响应或键来执行此操作。

这可能有助于更清晰。

请勿再次点击此框,因为它已打开

特定按钮的 X 路径是 /html/body/div1/div/div2/div/san/svg 我用于点击的代码是

driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/div/san/svg').click()

所有我想做的,如果之前没有点击,那么只需点击,我需要在 selenium python 中使用什么参数或选项来做到这一点。

当盒子关闭时添加更多细节这是“我看到的元素代码”

当处于盒子打开状态时,这是我得到的“元素代码”

【问题讨论】:

  • 点击后,该图标的 html 代码部分必须更改。你可以写一个尝试除此之外。检查元素并检查发生了哪些变化。
  • @Pygirl 任何代码 sn-p 示例?
  • @Pygirl 为这两个动作添加了 html 代码,你能帮我提供一个代码模板吗,只有当盒子通过 selenium 点击并打开时处于关闭状态,否则忽略此点击步骤。谢谢
  • 您有最初隐藏的类小部件页面。你可以使用它。 Selenium 具有在找到元素时触发代码的功能。你可以使用它。

标签: javascript python css python-3.x selenium


【解决方案1】:

您需要一种机制来检查盒子是否打开,有几种方法可以做到这一点。

  1. 检查仅存在于框内的唯一元素,例如框内带有idclass 的元素。如果它们存在,则该框已打开,因此不要再次单击。

  2. 第一种方法可能不适用于每个网站,因为有些网站只是使用hide 或类似的类来隐藏框。对于这些情况,请检查框内的元素是否具有hide 类,如果没有,则框已打开,请勿单击。

  3. 检查按钮以查看它是否具有用于定义打开和关闭的唯一类/文本,例如按钮的颜色。从你的照片看,盒子打开后变成蓝色的,也许你可以试试看是不是这样,然后用它来检查盒子是否打开。

【讨论】:

  • 我已经在这两个动作中添加了 html 代码,你能帮我一个代码模板吗,只有当盒子通过 selenium 点击并打开处于关闭状态时,否则忽略这个点击步骤。谢谢
猜你喜欢
  • 2020-05-21
  • 2019-08-20
  • 1970-01-01
  • 2020-01-13
  • 1970-01-01
  • 1970-01-01
  • 2019-10-06
  • 2016-05-31
  • 2016-11-02
相关资源
最近更新 更多