Selenium(PYTHON) ng-click 问题
Selenium(PYTHON) ng-click issue
我一直卡在这个问题上,无论我如何写出到特定元素的导航,使用 .click() 都不起作用,元素在点击被触发之前 100% 加载(我知道因为我可以手动点击它),但它实际上不会点击,是否有关于 ng-click 的东西需要规范或什么,但希望我至少可以关闭为什么这个元素不会被点击
<div class="item-card-thumb-container" ng-click="root.onItemCardClick(userAsset)">
有没有什么方法可以在不专门找到那个元素并向其添加 .click() 的情况下点击这个元素,因为它似乎不起作用,我理解它太模糊了,但也可能是这个元素'除非鼠标悬停在元素上,否则不可点击,因为它是 UI
所需的元素是 Angular element element, so ideally to click on the element you need to induce WebDriverWait for the and you can use either of the following :
使用CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.item-card-thumb-container[ng-click^='onItemCardClick']"))).click()
使用XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='item-card-thumb-container' and contains(@ng-click, 'onItemCardClick')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
我一直卡在这个问题上,无论我如何写出到特定元素的导航,使用 .click() 都不起作用,元素在点击被触发之前 100% 加载(我知道因为我可以手动点击它),但它实际上不会点击,是否有关于 ng-click 的东西需要规范或什么,但希望我至少可以关闭为什么这个元素不会被点击
<div class="item-card-thumb-container" ng-click="root.onItemCardClick(userAsset)">
有没有什么方法可以在不专门找到那个元素并向其添加 .click() 的情况下点击这个元素,因为它似乎不起作用,我理解它太模糊了,但也可能是这个元素'除非鼠标悬停在元素上,否则不可点击,因为它是 UI
所需的元素是 Angular element element, so ideally to click on the element you need to induce WebDriverWait for the
使用
CSS_SELECTOR
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.item-card-thumb-container[ng-click^='onItemCardClick']"))).click()
使用
XPATH
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='item-card-thumb-container' and contains(@ng-click, 'onItemCardClick')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC