我正在使用python3硒。
我正在尝试点击下拉菜单中的选项100:https://www3.wipo.int/branddb/en/#
请查看附件图片
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import sys
import time
from selenium.webdriver.firefox.options import Options as FirefoxOptions
from selenium.webdriver.support.select import Select
import random
from selenium.webdriver.common.action_chains import ActionChains
#chrome_options = webdriver.ChromeOptions()
#chrome_options.add_argument('--proxy-server=http://%s' % random.choice(proxies))
driver = webdriver.Chrome()
driver.get('https://www3.wipo.int/branddb/en/#')
try:
WebDriverWait(driver, 100).until(EC.visibility_of_element_located((By.XPATH, '//input[@id="skipValue1"]')))
except:
sys.exit()
我在类Select
和ActionChains
中尝试了许多方法,但是没有成功,因为该元素被隐藏了并且在没有悬停的情况下不会被加载。还尝试过Firefox
和Chrome
浏览器,我认为执行某些Javascript可能会有所帮助,但不确定如何实现?
任何帮助!非常赞赏。在此先感谢
答案 0 :(得分:0)
这是您的解决方案。您需要ActionChains:
actions = ActionChains(driver)
hovermenu=WebDriverWait(driver, 2).until(EC.visibility_of_element_located((By.XPATH, '//li[@class="current roundedMenu" ]')))
actions.move_to_element(hovermenu).perform()
WebDriverWait(driver , 2).until(EC.visibility_of_element_located((By.XPATH, '//a[(@class="menuItem") and (text()="100")]'))).click()
请确保具有以下进口:
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC