Python Selenium:无法单击用户名字段

时间:2017-12-08 04:11:11

标签: python selenium-webdriver

我正在尝试找到一个没有ID或其他定位器的用户名字段,我可以使用Selenium Web Driver轻松找到它。

使用Chrome的Inspect Element,此对象的HTML如下

<div aria-hidden="true" style="cursor:text" data-bind="text: hintText, css: hintCss" class="placeholder">someone@example.com</div>

找到此页面对象的最佳方法是什么?

由于

3 个答案:

答案 0 :(得分:0)

其中任何一个都应该有效(如果它是此类类型的第一个div - 元素)

driver.find_element_by_class_name('placeholder')
driver.find_element_by_css_selector('div.placeholder')
driver.find_element_by_xpath("//div[@class='placeholder']")

如果有更多匹配的元素使用方法的find_element s 版本并使用返回列表的索引,则获取所需的元素。

答案 1 :(得分:0)

if (fragmentManager.getBackStackEntryCount() >=0) { getSupportFragmentManager().popBackStackImmediate() } else { super.onBackPressed(); } click()字段,您可以使用以下任意一行代码:

  • 使用User Nameclass属性:

    text
  • 使用driver.findElement(By.xpath("//div[@class='placeholder' and contains(text(),'someone@example.com')]")); class属性:

    aria-hidden

答案 2 :(得分:0)

首先找出你的元素是在不同的框架内。找到iframe,首先切换到iframe,之后您可以使用find_elemet_by_class_name或find_element_by_css_selector或xpath等任何方法找到用户所需的对象。 要切换到框架,请尝试以下代码:

driver.switch_to.frame(driver.find_element_by_id("ID_OF_YOUR_FRAME"))

您也可以从此链接代码中获取对搜索元素的引用: “https://github.com/PrajinkyaPimpalghare/TimeSheet-Automation/blob/master/time_sheet_automation.py”请参阅第94至108行,以不同方式和不同方式访问元素。