我可以在浏览器中传递变量吗?在selenium-python中通过链接文本()查找元素?
例如,假设我有以下关键字列表:头、脚、手、手指 如何在浏览器的“()”中传递所有这些内容。通过链接查找元素? 目的是逐个搜索所有这些关键字,如果找到,将模拟单击每个关键字 示例代码:我可以在浏览器中传递变量吗?在selenium-python中通过链接文本()查找元素?,python,selenium,web-scraping,Python,Selenium,Web Scraping,例如,假设我有以下关键字列表:头、脚、手、手指 如何在浏览器的“()”中传递所有这些内容。通过链接查找元素? 目的是逐个搜索所有这些关键字,如果找到,将模拟单击每个关键字 示例代码: for i in browser.find_element_by_link_text("**all keywords should be passed here**"): i.click() PS.Python新手。您不能通过链接文本()将多个链接文本传递给查找元素 你有多种方法来解决这个问题。例
for i in browser.find_element_by_link_text("**all keywords should be passed here**"):
i.click()
PS.Python新手。您不能通过链接文本()将多个链接文本传递给
查找元素
你有多种方法来解决这个问题。例如,您可以切换到使用XPath定位器-动态构造一个表达式,检查所有链接文本变体:
link_texts = ["Head", "Feet", "Hand", "Fingers"]
expression = "//a[%s]" % (" or ".join(". = '%s'" % link_text for link_text in link_texts))
for link in driver.find_elements_by_xpath(expression):
link.click()
或者,您可以在循环处理(如果未找到元素)中正确发出find\u element\u by\u link\u text()
:
from selenium.common.exceptions import NoSuchElementException
link_texts = ["Head", "Feet", "Hand", "Fingers"]
for link_text in link_texts:
try:
link = driver.find_element_by_link_text(link_text)
link.click()
except NoSuchElementException:
print("Link text '%s' not found" % link_text)
后一个选项速度较慢,但同时更加明确。您不能通过链接文本()将多个链接文本传递到查找元素
你有多种方法来解决这个问题。例如,您可以切换到使用XPath定位器-动态构造一个表达式,检查所有链接文本变体:
link_texts = ["Head", "Feet", "Hand", "Fingers"]
expression = "//a[%s]" % (" or ".join(". = '%s'" % link_text for link_text in link_texts))
for link in driver.find_elements_by_xpath(expression):
link.click()
或者,您可以在循环处理(如果未找到元素)中正确发出find\u element\u by\u link\u text()
:
from selenium.common.exceptions import NoSuchElementException
link_texts = ["Head", "Feet", "Hand", "Fingers"]
for link_text in link_texts:
try:
link = driver.find_element_by_link_text(link_text)
link.click()
except NoSuchElementException:
print("Link text '%s' not found" % link_text)
后一个选项速度较慢,但同时更加明确。第二个建议的结果是“NameError:name'NoTouchElementException'未定义”…我明天会计算第一个选项,我无法使其工作..谢谢mate@CuriousCat是的,你需要导入它,添加到答案中。希望有帮助。第二个建议的结果是“NameError:name'NoTouchElementException'未定义”…我明天会想出第一个,我无法让它工作…谢谢mate@CuriousCat是的,你需要导入它,添加到答案中。希望有帮助。