在Selenium Python中的div下拉列表中单击标签,没有任何效果

时间:2019-09-03 14:34:24

标签: python selenium click

我正在尝试在div下拉列表中单击一个标签。我尝试了4个代码选项,但没有任何效果。我知道XPATH是正确的。我有隐性的睡眠。

1。)function1

2。)

browser.find_element_by_xpath(OrderOrderTypeXPATH).send_keys('/n')

3。)

browser.execute_script('arguments[0].click()',
browser.find_element_by_xpath(OrderTypeXPATH))

4。)

ActionChains(browser).move_to_element(browser.find_element_by_xpath(OrderTypeXPATH)).click().perform()

我的div代码如下:

browser.find_element_by_xpath(OrderTypeXPATH).click()

没有错误消息。只是不单击它,下拉列表就消失了。

XPATH是正确的,因为sendKeys('\ n')输出轮廓。

1 个答案:

答案 0 :(得分:0)

推导WebDriverWaitelement_to_be_clickable(),然后先单击div元素,然后单击如下所示的desire元素。

WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div.dropdown"))).click()
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//div[@class='dropdown']/a[text()='Order 2']"))).click()

注意:您需要导入以下内容。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

已编辑

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver=webdriver.Chrome()
driver.get("https://robinhood.com/stocks/AMD")
driver.maximize_window()
element=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//h3[contains(.,'Buy AMD')]/following::*[name()='svg'][2]"))).click()
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//h3[contains(.,'Order Type')]/following::div/a[text()='Limit Order']"))).click()