简体   繁体   English

如何使用 Selenium WebDriver 单击该元素

[英]How to click that element with Selenium WebDriver

It's clickable when i login without automazied test even it's a text当我登录时没有自动测试它是可点击的,即使它是文本

I tried:我试过了:

element2 = WebDriverWait(driver, 300).until(EC.presence_of_element_located((By.XPATH, '/html/body/app-root/app-inquiry-main/div[2]/div[2]/div[2]/div[2]/div/app-tuselection/div/div[2]')))
element2.click()

Snapshot:快照:

在此处输入图像描述

The desired element is a Angular element, to click element instead of presence_of_element_located() you need to induce WebDriverWait for the element_to_be_clickable() and you can use either of the following Locator Strategies :所需的元素是Angular元素,要单击元素而不是 present_of_element_located ()您需要为element_to_be_clickable()诱导WebDriverWait并且可以使用以下任一定位器策略

  • Using CSS_SELECTOR :使用CSS_SELECTOR

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "li.navlinks.ng-star-inserted > div > span"))).click()
  • Using XPATH :使用XPATH

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[@class='navlinks ng-star-inserted']//span[text()='050 ENGINE ATTACHMENT PARTS']"))).click()
  • Note : You have to add the following imports:注意:您必须添加以下导入:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM