[英]Python selenium presence_of_element_located((By.XPATH, ) need case insensitive
我偶然发现了事实,然后xref
在搜索页面上可能是大写或小写(甚至部分)。 如果页面上存在外部参照,无论大小写如何,如何确保脚本找到外部参照?
发布Python:Selenium xpath 以查找不区分大小写字符的元素? 谈论它不起作用,但它是 2013 年。希望它改变了。 如何写出正确的表达? 我目前的代码是:
myLink = WebDriverWait(myDriver,
10).until(ExConditions.presence_of_element_located((By.XPATH,
'//a[starts-with(@href,"https://www.test.org/portal/")]')))
看起来lower-case(@href)
无法正常工作(至少对于Windows 7上的Firefox而言), fn:lower-case(@href)
也无法正常工作。
我求translate
在帖子中找到的translate
:
'//a[contains(translate(@href, "ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz"),
"www.test.org/portal")]'
试试这个功能。
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
def If_element_is_here_do_click(xpath_arg):
executed = 0
while (executed == 0):
try:
driver.find_element(By.XPATH, xpath_arg).click()
executed = 1
print("Clicked")
except:
print("No")
time.sleep(0.5)
并像这样调用:
If_element_is_here_do_click("/html/body/div[1]/section/main/div/div/article/div/div[2]/div/div[2]/section[1]/span[1]/button")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.