在python中找不到带有selenium的搜索栏

2024-10-06 11:23:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直试图在这个网站上找到一个侧边栏https://covid19.who.int/?gclid=EAIaIQobChMIkoua643_6gIVDNd3Ch3qgApPEAAYASAAEgIfIvD_BwE

我试图找到的搜索栏位于顶部,上面写着“按国家、地区或地区搜索” 我尝试使用XPATH,但在定位元素时总是出错,或者有时它说我的元素不可交互(我猜这意味着我正在定位另一个元素) 能告诉我找到那个元素的方法吗

here is what I saw when I inspected


Tags: 方法https定位元素here网站国家xpath
1条回答
网友
1楼 · 发布于 2024-10-06 11:23:44

假设您希望搜索国家并查看数据,因此您需要找到搜索框的id(即react-select-2-input),并使用send_keys输入国家名称,然后按enter键

from selenium import webdriver
from selenium.webdriver.common.keys import Keys


site = 'https://covid19.who.int/?gclid=EAIaIQobChMIkoua643_6gIVDNd3Ch3qgApPEAAYASAAEgIfIvD_BwE'

driver = webdriver.Chrome(executable_path = 'chromedriver.exe') # Here I am using Chrome's web driver
#For Firefox Web driver
#driver = webdriver.Firefox(executable_path = 'geckodriver.exe') 
driver.get(site)
time.sleep(3)
elem = driver.find_element_by_id("react-select-2-input")
elem.send_keys("Brazil")
elem.send_keys(Keys.ENTER)

如果您只对查找搜索栏感兴趣,那么可以通过它的id(driver.find_element_by_id("react-select-2-input"))来查找它

enter image description here

我是如何找到搜索栏id的

基本上搜索栏只是一个文本框,HTML文本框代码以<input type="text">开头,所以我必须在浏览器的inspect元素中找到文本框的HTML代码

通过看到您的屏幕截图,我可以说您走的方向是正确的,您只需扩展div标记更多,直到找到文本框的代码

enter image description here

相关问题 更多 >