html中的Javascript基于悬停更改为类名。因此,我无法点击该对象。
请检查here以查看我的HTML代码和对象图片
到目前为止我尝试了什么:
select_project = WebDriverWait(driver, 2).until(
EC.presence_of_element_located((By.XPATH ,"//a[@class='smalltextnolink']")))
select_project.click()
和
select_project = driver.find_element_by_xpath("//div/table/tbody/tr/td[2]")
select_project.click()
答案 0 :(得分:0)
尝试通过CSS部分匹配进行选择。
select_project = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'a[class^="smalltext"]')))
select_project.click()
答案 1 :(得分:0)
尝试使用以下CSS选择器:
[onmouseover*='smalltextul']
答案 2 :(得分:0)
如何将标记添加到xpath中:
select_project = driver.find_element_by_xpath("//div/table/tbody/tr/td[2]/a")
select_project.click()
我想到的另一个选择是将它们视为两个不同的元素,如果你真的想按类定位它们:
保持按钮悬停:Is there a way to perform a mouseover (hover over an element) using Selenium and Python bindings?
firefox = webdriver.Firefox()
firefox.get('http://foo.bar')
element_to_hover_over = firefox.find_element_by_id("baz")
hover = ActionChains(firefox).move_to_element(element_to_hover_over)
hover.perform()
然后找到具有新类的元素并执行单击