如何使用selenium-python在未排序列表中选择列表中的元素



这是我正在处理的网站https://www.bseindia.com/corporates/ann.html?curpg=1&annflag=1&dt=20211021&dur=P&dtto=20211027&cat=内幕交易%20/%20SAST&scrip=&anntype=A在这里,我可以发送";安全名称";但为了提交它,我需要单击给出安全名称后的下拉元素。我如何用硒来实现这一点。我使用了下面的代码,但它不起作用(StaleElementReferenceException(

security_name = driver.find_element_by_id("scripsearchtxtbx")
security_name.send_keys('INE350H01032')
sec_click = driver.find_element_by_xpath('//*[@id="ulSearchQuote2"]/li')
sec_click.click()

这也可以使用Selenium中的密钥库来完成。Selenium-Keys不仅可以像字符串一样发送输入语句,而且还可以发送命令(如escape、tab或在本例中为enter(。更新后的代码应该如下所示:

security_name = driver.find_element_by_id("scripsearchtxtbx")
security_name.send_keys('INE350H01032')
security_name.send_keys(Keys.ENTER)
sec_click = driver.find_element_by_xpath('//*[@id="ulSearchQuote2"]/li')
sec_click.click()

这些被称为特殊键。有关更多示例和更多信息,请参阅此链接

您可以玩Xpath:

security_name = driver.find_element_by_id("scripsearchtxtbx")
security_name.send_keys('INE350H01032')
sec_click = driver.find_element_by_xpath("//ul[@id='ulSearchQuote2']/li//strong[text()='INE350H01032']")
sec_click.click()
same -->("//ul[@id='ulSearchQuote2']//strong[text()='INE350H01032']")

你可以在这里查看更多关于xpath的信息:xpath

最新更新