【发布时间】:2021-03-30 14:40:18
【问题描述】:
我尝试使用 selenium 通过 xpath 单击按钮,但它不起作用,我不知道为什么
它总是说:
selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“xpath”,“selector”:“我在下面写的方式”}
元素显示如下:
<button class="dCJp8 afkep"><span aria-label="load comments" class="glyphsSpriteCircle_add__outline__24__grey_9 u-__7"></span></button>
#i already tried this ways:
browser.find_element_by_xpath("//button[class='dCJp8 afkep']").click()
browser.find_element_by_xpath("//button[text()='load comments'").click()
#and i also tried it like this:
browser.find_element_by_xpath("/html/body/div[1]/section/main/div/div[1]/article/div[3]/div[1]/ul/li/div/button").click()
browser.find_element_by_xpath("/html/body/div[5]/div[2]/div/article/div[3]/div[1]/ul/li/div/button").click()
#but everything wont work
这里是代码,如果你们想自己尝试一下(第 13 和 14 行登录)
from selenium import webdriver
from time import sleep
browser = webdriver.Chrome()
url = "https://www.instagram.com/"
browser.get(url)
sleep(1)
browser.find_element_by_xpath("/html/body/div[2]/div/div/div/div[2]/button[1]").click()
#Login
browser.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[1]/div/label/input").send_keys("Username")
browser.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[2]/div/label/input").send_keys("Password")
browser.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[3]/button").click()
sleep(3)
browser.find_element_by_xpath("/html/body/div[1]/section/main/div/div/div/div/button").click()
browser.find_element_by_xpath("/html/body/div[4]/div/div/div/div[3]/button[2]").click()
url = "https://www.instagram.com/p/CLMCNSenf-E/"
browser.get(url)
#try:
# browser.find_element_by_xpath("/html/body/div[1]/section/main/div/div[1]/article/div[3]/div[1]/ul/li/div/button").click()
#except:
# browser.find_element_by_xpath("/html/body/div[1]/section/main/div/div[1]/article/div[3]/div[1]/ul/li/div/button").click()
browser.find_element_by_xpath("//button[text()='load comments'").click()