Python Selenium - 在列表中查找项目
Python Selenium - find item in a list
我有以下内容:
<a href="/firewall_aliases.php" class="navlnk">Aliases</a>
<a href="/firewall_aliases.php" class="navlnk">NAT</a>
<a href="/firewall_aliases.php" class="navlnk">Rules</a>
我似乎无法找到带有文本 别名 的元素。可以吗?
谁能帮帮我?
你可以这样使用:
//*[text()="Aliases"]
另一种方式是
//a[@href="/firewall_aliases.php" and (text()="Aliases")]
您可以使用以下 XPath 定位器:
//a[text()="Aliases"]
为了更加独特,您可以使用
//a[@href="/firewall_aliases.php" and (text()="Aliases")]
甚至
//a[@href="/firewall_aliases.php" and (@class="navlnk") and (text()="Aliases")]
要定位文本为 Aliases
的元素,您可以使用以下任一方法 :
使用link_text
:
element = driver.find_element(By.LINK_TEXT, "Aliases")
使用css_selector
:
element = driver.find_element(By.CSS_SELECTOR, "a.navlnk[href*='firewall_aliases']")
使用xpath
:
element = driver.find_element(By.XPATH, "//a[text()='Aliases' and contains(@href, 'firewall_aliases')]")
理想情况下,要找到需要为 visibility_of_element_located()
引入 WebDriverWait 的元素,您可以使用以下任一方法 :
使用LINK_TEXT
:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.LINK_TEXT, "Aliases")))
使用CSS_SELECTOR
:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a.navlnk[href*='firewall_aliases']")))
使用XPATH
:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[text()='Aliases' and contains(@href, 'firewall_aliases')]")))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
我有以下内容:
<a href="/firewall_aliases.php" class="navlnk">Aliases</a>
<a href="/firewall_aliases.php" class="navlnk">NAT</a>
<a href="/firewall_aliases.php" class="navlnk">Rules</a>
我似乎无法找到带有文本 别名 的元素。可以吗?
谁能帮帮我?
你可以这样使用:
//*[text()="Aliases"]
另一种方式是
//a[@href="/firewall_aliases.php" and (text()="Aliases")]
您可以使用以下 XPath 定位器:
//a[text()="Aliases"]
为了更加独特,您可以使用
//a[@href="/firewall_aliases.php" and (text()="Aliases")]
甚至
//a[@href="/firewall_aliases.php" and (@class="navlnk") and (text()="Aliases")]
要定位文本为 Aliases
的元素,您可以使用以下任一方法
使用
link_text
:element = driver.find_element(By.LINK_TEXT, "Aliases")
使用
css_selector
:element = driver.find_element(By.CSS_SELECTOR, "a.navlnk[href*='firewall_aliases']")
使用
xpath
:element = driver.find_element(By.XPATH, "//a[text()='Aliases' and contains(@href, 'firewall_aliases')]")
理想情况下,要找到需要为 visibility_of_element_located()
引入 WebDriverWait 的元素,您可以使用以下任一方法
使用
LINK_TEXT
:element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.LINK_TEXT, "Aliases")))
使用
CSS_SELECTOR
:element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a.navlnk[href*='firewall_aliases']")))
使用
XPATH
:element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[text()='Aliases' and contains(@href, 'firewall_aliases')]")))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC