2017-09-15 1 views
0

Javascript innerhalb von HTML ändert sich Klassenname basierend auf Hover. Aus diesem Grund kann ich nicht auf das Objekt klicken.Selen Klassenname ändert sich basierend auf Hover-Bewegung

Bitte überprüfen here zu meinem HTML-Code und Objektbild

zu sehen, was ich versuche, so weit:

select_project = WebDriverWait(driver, 2).until(
    EC.presence_of_element_located((By.XPATH ,"//a[@class='smalltextnolink']"))) 
select_project.click() 

und

select_project = driver.find_element_by_xpath("//div/table/tbody/tr/td[2]") 
select_project.click() 

Antwort

0

Versuchen Auswahl von CSS teilweise Übereinstimmung.

select_project = WebDriverWait(driver, 2).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'a[class^="smalltext"]'))) 
select_project.click() 
+0

nicht bekam funktioniert 'TimeoutException' als ich angehoben Zeit von 2 bis 10, aber immer noch denselben Fehler – mtkilic

0

Versuchen Sie es mit folgenden CSS-Selektor:

[onmouseover*='smalltextul'] 
0

über How-Tag in der XPath-Zugabe:

select_project = driver.find_element_by_xpath("//div/table/tbody/tr/td[2]/a") 

select_project.click()

Eine weitere Option, die ich denken ist Betrachten Sie sie als 2 verschiedene Elemente, wenn Sie sie wirklich nach Klasse suchen möchten:

Halten Sie die Taste schwebte: 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() 

Dann das Element mit neuer Klasse finden und führen Sie den Klick

Verwandte Themen