我可以在浏览器中传递变量吗?在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是的,你需要导入它,添加到答案中。希望有帮助。