如何使用 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 xpath 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
我作为新手和新手开发人员使用 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 element_to_be_clickable()
and you can use either of the following xpath 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