如果 X 匹配 Y 网络抓取硒

if x matches y webscraping selenium

提问人:DerWildeFuchs 提问时间:11/13/2023 最后编辑:tripleeeDerWildeFuchs 更新时间:11/14/2023 访问量:52

问:

我正在抓取一个网站和 我想检查找到的内容是否与代码中给出的特定单词匹配。如果是这样,它应该做事情 1;如果没有,它应该做事情 2。browser.find_element()

Check = browser.find_element(By.XPATH, 'XPATH')
if Check == 'Target':
    print('True')
else:
    print('False')
python if 语句 selenium-webdriver 网页抓取

评论


答:

2赞 Jab 11/13/2023 #1

如果您尝试检查元素中的文本是否相等,则可以使用:"target"

check = browser.find_element(By.XPATH, "XPATH")
if check.text == "Target":
    print(True)
else:
    print(False)

评论

0赞 JeffC 11/14/2023
该部分不是必需的,因为如果找不到该元素,则第一行会引发 ElementNotFoundException。我会在第一行使用(复数)来更好地处理潜在的异常。if check.find_elements()
1赞 Shawn 11/13/2023 #2
browser.find_element(By.XPATH, 'XPATH')

上面将返回 WebElement 的对象。如果要将 HTML 节点的内容存储到变量中,则需要使用 .检查下面的代码:.text

Check = browser.find_element(By.XPATH, 'XPATH').text

例:

driver = webdriver.Chrome()
driver.get("https://stackoverflow.com/")
driver.maximize_window()

Check = driver.find_element(By.XPATH, "//span[@class='-img _glyph']").text
if Check == 'Stack Overflow':
    print('True')
else:
    print('False')