当前位置: 首页 > 面试题库 >

使用Selenium Python脚本将值写入隐藏元素

都才俊
2023-03-14
问题内容

我正在尝试使用pythonselenium代码写入文本框,但是由于隐藏了文本框的父标签,因此出现错误。

driver.find_element_by_xpath("//input[@itemcode='XYZ']").send_keys(1)

我看到了Java的Javascript executor解决方法,但需要有关python脚本的类似帮助。

提前致谢!!


问题答案:

尝试以下解决方法(已在Firefox和Chrome中测试):

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException

browser = webdriver.Firefox() # Get local session(use webdriver.Chrome() for chrome) 
browser.get("http://www.example.com") # load page from some url
assert "example" in browser.title # assume example.com has string "example" in title

try:
    # temporarily make parent(assuming its id is parent_id) visible
    browser.execute_script("document.getElementById('parent_id').style.display='block'")
    # now the following code won't raise ElementNotVisibleException any more
    browser.find_element_by_xpath("//input[@itemcode='XYZ']").send_keys(1)
    # hide the parent again
    browser.execute_script("document.getElementById('parent_id').style.display='none'")
except NoSuchElementException:
    assert 0, "can't find input with XYZ itemcode"

另一个解决方法甚至更简单(假设文本框的ID为“ XYZ”,否则使用任何可以检索它的JS代码),如果您只想更改文本框的值,可能会更好:

browser.execute_script("document.getElementById('XYZ').value+='1'")


 类似资料:
  • 问题内容: 我有如下的bash脚本: 我希望当用户在终端上键入密码时,不应显示该密码(或应显示诸如*之类的内容)。我该如何实现? 问题答案: 只需向您的读取调用提供-s,如下所示:

  • 问题内容: 我有一个只具有href值作为属性的锚标记的href值。现在,我想在页面中找到与我的href值具有相同值的元素,然后单击它。我找不到使用标准selenium方法执行此操作的任何方法。如何执行此操作?基本上,这些是我找到的功能,但似乎无法使用其中任何一个: 问题答案: 您可以使用find_element_by_xpath功能。

  • 问题:如果距离为空/null,我试图隐藏一个值。 我尝试了以下操作,但该值仍在显示: 和 什么是实现我所期待的正确方法。 以下是我在coldfusion中定义距离的方式: 当我做以下建议时: ng-show="e.distance===未定义" 当我执行其他建议时,例如ng hide=“e.distance”, 以下是提供商包含的内容:

  • 我有一个页面,里面有许多隐藏的div。这些div使用CSS处理程序。 在每个隐藏的div中,都有一个jQuery支持的幻灯片,使用名为TN3的jQuery插件构建。 每个隐藏的div都链接到页面上可见的照片。单击照片显示相应的隐藏div并将其滑动到位。再次单击照片,或单击隐藏div中的关闭按钮,将其向后滑动并再次隐藏。这是使用一个简单的jQuery显示/隐藏切换脚本完成的。 我的问题是,当你点击一

  • 我有数据 我正试图选择它与J汤。 但这不起作用。 我在字符串auth_token=处收到空指针异常。 java.lang.crime.ic.Main.main(Main.java: 2) 我做错了什么?

  • 问题内容: 我有一个输入,其类型设置为隐藏,我需要将其类型更改为文本。似乎无法弄清楚这一点,或者jQuery是否可行 问题答案: 使用jQuery 1.4,您可以在分离输入时更改其类型。