如何使用 Selenium 和 Python 单击启用 GWT 的元素

How to click on GWT enabled elements using Selenium and Python

我作为新手和新手开发人员使用 Selenium。 我尝试解决此 XPath 但没有结果,这就是我寻求帮助的原因。

所以我想单击具有动态 ID 的复选框,但根据 tittle="Viewers"

找到此复选框并不容易

请注意,div 中的复选框右侧有一个完整的复选框列表,我想将其包含在我的测试中。

HTML:

<span class="row-selection"><input type="checkbox" value="on" id="gwt-uid-2215" tabindex="0"><label for="gwt-uid-2215"></label></span> <div class="row-label" title="Viewers">Viewers</div>

快照;

所需的元素是 GWT enabled element so to click on the element you have to induce for the element_to_be_clickable() and you can use either of the following based :

  • 使用 xpath 基于 title 属性:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@title='Viewers']//preceding::span[1]//label"))).click()
    
  • 使用xpath基于innerHTML:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[text()='Viewers']//preceding::span[1]//label"))).click()
    
  • 注意:您必须添加以下导入:

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