我正在尝试让Selenium选择此页面上的Activity选项卡,但我不知道如何选择该选项卡。
下面是url:https://explorer.helium.com/hotspots/112YabQcCywBonqZ8hgg213DPCvRxYxN3knSccAWfkakPjyBcaJL
import bs4
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from fake_useragent import UserAgent
va = UserAgent()
opts = Options()
opts.add_argument("user-agent="+va.random)
driver = webdriver.Chrome(options=opts)
driver.get("https://explorer.helium.com/hotspots/112xnX1tYcCs4LzS65SNs3zMXKyvtkz5kFF3EAiTkBtmShP9dTW")
link = driver.find_element_by_link_text("Activity")
link.click()并且我得到了以下错误
Traceback (most recent call last):
File "C:/Users/jerem/PycharmProjects/HNT-bot/main.py", line 14, in <module>
link = driver.find_element_by_link_text("Activity")
File "C:\Users\jerem\PycharmProjects\HNT-bot\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 428, in find_element_by_link_text
return self.find_element(by=By.LINK_TEXT, value=link_text)
File "C:\Users\jerem\PycharmProjects\HNT-bot\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 976, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "C:\Users\jerem\PycharmProjects\HNT-bot\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\jerem\PycharmProjects\HNT-bot\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"Activity"}
(Session info: chrome=91.0.4472.124)我没有编写代码的经验,一直在尝试遵循教程,但什么都没有起作用。
发布于 2021-07-02 00:33:00
您要查找的元素不是锚(),而是a,因此不能使用find_element_by_link_text
请尝试通过CSS选择器查找元素。在您的案例中:
link = find_element_by_css_selector("#rc-tabs-0-tab-4")作品
发布于 2021-07-02 02:02:26
看看这是否有效:-
driver.find_element_by_xpath("//*[text()='Activity']").click()https://stackoverflow.com/questions/68212260
复制相似问题