[英]how to click or select on very first element(value) of input dropdown box in python using selenium webdriver
我是python网络抓取并尝试使网站自动化的初学者。 在我要抓取的网站上,有一个搜索过滤器,我在输入框下拉标签上应用过滤器。
在下拉框中,我输入了国家名称,所有国家都相应地出现了,但是我无法选择或单击下拉框中作为值的第一个国家。 我也应用了一些代码,但是我的脚本失败并终止。
下面是用于更好理解的图像。 在此处输入图片说明
我还应用了一些代码,请在下面检查
p_location='united states'
browser.find_by_xpath("//label[contains(.,'Geography')]").first.click()
actions_wait_time = randint(15, 30)
time.sleep(actions_wait_time)
loc_input = browser.find_by_xpath("//input[@placeholder='Add locations']")
loc_input.type(p_location)
actions_wait_time = randint(15, 30)
time.sleep(actions_wait_time)
loc_input.type(Keys.TAB)
time.sleep(3)
loc_input.type(Keys.RETURN)
我想从下拉列表中选择第一个值。 请帮忙
在不查看页面DOM的情况下不可能拿出确切的代码,但是很明显的一点是:您不应该使用time.sleep函数,因为它是某种形式的性能反模式。
您应该改为“ 显式等待”,例如:
loc_input = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "//input[@placeholder='Add locations']")))
first_element = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "//xpath/for/the/first/element/in/the/dropdown")))
first_element.click()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.