当前位置: 首页 > 知识库问答 >
问题:

如何在Python Selenium中单击隐藏按钮?

朱兴运
2023-03-14

我正在用Selenium开发简单的自动化。我需要单击一个特定的按钮。我不能,因为它隐藏在没有类的div/table中。

我附上了一个html的截图。我确实尝试过xpath、css选择、选择,但仍然一无所获。

HTML

共有2个答案

屈浩波
2023-03-14

你可以尝试点击div然后。您可以使用XPath来定位按钮元素(因为它有一些类,所以您可以定位它),并添加/父::div来让div单击它。

柯曦
2023-03-14

单击按钮上的(),您必须诱导WebDriverWait以获得所需元素的可见性(),并且您可以使用以下任一定位器策略:

>

  • 使用CSS\u选择器

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.nightclubs.unstyled > li > table.table.table-condensed button.btn.btn-inverse.btn-small.pull-right"))).click()
    

    使用XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='nightclubs unstyled']/li/table[@class='table table-condensed']//button[@class='btn btn-inverse btn-small pull-right' and contains(., 'Wejd')]"))).click()
    

    注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

  •  类似资料:
    • 我正在尝试隐藏按钮div和显示一个隐藏的div后,一个表单按钮已经被点击,加上延迟提交/重定向。下面是我想出的办法,但似乎没有100%奏效。 null null 任何建议都非常感谢

    • 我正在使用: https://github.com/iPaulPro/SlidingMenu 在我的例子中,BehindContentView是一个ListFragment。 1.单击图像以获取behindView(调用toggle();)。 2. onListItem点击会Activity_2显示点击项目的文本。 3.在这个Activity_2中,当我单击device back按钮时,我会看到主

    • 问题内容: 我有一个显示一些记录的网格。当我单击记录并检查该元素时,将显示该元素已隐藏但在网格中可见。 我的HTML是: 上面的代码在检查时是隐藏的,但在网格中可见。 selenium代码: 问题答案: 首先说该元素存储在对象中,然后编写以下代码以单击该隐藏元素:

    • 我正在尝试测试智能GWT应用程序。我有一个关键问题。我无法使用以下命令单击元素: 是回报 找不到xpath“/html/body/div[10]/div[3]/div/div/div[1]/div/form/table/tbody[2]/tr[4]/td/table/tbody/tr/td[2]/span/img”(Capybara::ElementNotFound) 代码如下: 这个img上有很

    • 我在使用Google的支持设计库中的FloatingActionButton时遇到了一些麻烦。按钮和onClickListener工作正常,但问题在于: 当我隐藏按钮和我显示它之后,按钮不直接执行onClick方法时,点击第一次,它必须点击2次工作。我没有在onClick中做任何复杂的事情,这些事情只需要为视图运行一个简单的就可以了。下面是我的代码,尽管我怀疑那里有什么问题:

    • 我有2. fxml文件(stage1.fxml和stage2.fxml)和它的控制器类。 我在第一阶段有一个按钮。打开stage2的fxml。fxml单击时,上面有以下代码: 这可以很好地打开阶段2,但是阶段1仍然是打开的,我可以直接用tab键进入它并仍然使用该阶段中的按钮,我不想这样。 我怎么能。在打开stage2之前,当我按下bInstage2时,设置stage1可见(false)。fxml?