如何点击链接但没有“a href”[Selenium + Python]

时间:2017-12-14 20:58:19

标签: python selenium-webdriver

我不知道如何点击https://www.morele.net/login上的“Utwórzkonto”。

我试过了:

link_registration = driver.find_element_by_class_name("//li[@class = 'el-login-nav register']")
link_registration.click()

但我收到错误:

  

selenium.common.exceptions.InvalidSelectorException:消息:给定   css选择器表达式“.//li[@class ='el-login-nav register']”是   invalid:InvalidSelectorError:'。// li [@ class ='el-login-nav   register']'不是有效的选择器:“。// li [@ class ='el-login-nav   寄存器']“

2 个答案:

答案 0 :(得分:0)

您正在尝试通过类名"将XPath表达式传递给"定位器 - 难怪它失败了。

我会改用CSS选择器:

register = driver.find_element_by_css_selector(".autorization-form .register")
register.click()

.autorization-form .register将在具有register类的元素内某处(在任何深度级别)具有autorization-form类的元素匹配。这里的空格意味着父子关系 - 但孩子可以在父母内部的任何级别。

答案 1 :(得分:0)

您收到该错误是因为您使用了find_element_by_class_name()命令但是传入了xpath。您需要使用find_elements_by_xpath()或其他定位器功能。这些都应该有效:

driver.find_element_by_xpath("//li[@class = 'el-login-nav register']");
driver.find_element_by_css_selector("li.register")
相关问题