Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
硒:硒如何识别可见或不可见元素?是否可能在DOM中加载,但不在UI上呈现? 硒:硒如何识别可见或不可见元素?是否可能在DOM中加载,但不在UI上呈现? 我想验证一个场景,其中元素是可点击的,我知道web驱动器有方法“ElementToBickable”,但是,我想知道内部工作原理。请帮我做这个 另外,如何处理在DOM中加载元素但UI显示正在加载的场景,如何等待完全加载 请让我知道,如果UI没有加载,那么selenium会直接调用DOM元素,或者如果UI元素正在加载,那么它将无法执行?我真的希望能有更多的技术解释_Selenium_Selenium Webdriver_Dom_Webdriverwait_Expected Condition - Fatal编程技术网

硒:硒如何识别可见或不可见元素?是否可能在DOM中加载,但不在UI上呈现? 硒:硒如何识别可见或不可见元素?是否可能在DOM中加载,但不在UI上呈现? 我想验证一个场景,其中元素是可点击的,我知道web驱动器有方法“ElementToBickable”,但是,我想知道内部工作原理。请帮我做这个 另外,如何处理在DOM中加载元素但UI显示正在加载的场景,如何等待完全加载 请让我知道,如果UI没有加载,那么selenium会直接调用DOM元素,或者如果UI元素正在加载,那么它将无法执行?我真的希望能有更多的技术解释

硒:硒如何识别可见或不可见元素?是否可能在DOM中加载,但不在UI上呈现? 硒:硒如何识别可见或不可见元素?是否可能在DOM中加载,但不在UI上呈现? 我想验证一个场景,其中元素是可点击的,我知道web驱动器有方法“ElementToBickable”,但是,我想知道内部工作原理。请帮我做这个 另外,如何处理在DOM中加载元素但UI显示正在加载的场景,如何等待完全加载 请让我知道,如果UI没有加载,那么selenium会直接调用DOM元素,或者如果UI元素正在加载,那么它将无法执行?我真的希望能有更多的技术解释,selenium,selenium-webdriver,dom,webdriverwait,expected-condition,Selenium,Selenium Webdriver,Dom,Webdriverwait,Expected Condition,硒元素一出现在环境中或在环境中可见,就可以识别其存在或可见度。从用户角度来看,您可以在上调用方法来检查是否显示了所需的WebElement。根据当前的实现,Selenium可能无法区分加载的元素和呈现的元素。类中的方法设置检查元素是否可见和启用的期望值,以便您可以单击它 当元素加载到DOM中,但UI显示正在加载时,您仍然必须等待JavaScript和AJAX调用完成页面加载,以便页面上的所有WebElement都变得可交互。最多要等待完全加载,您可以将pageLoadStrategy设置为no

硒元素一出现在环境中或在环境中可见,就可以识别其存在或可见度。从用户角度来看,您可以在上调用方法来检查是否显示了所需的WebElement。根据当前的实现,Selenium可能无法区分加载的元素和呈现的元素。类中的方法设置检查元素是否可见和启用的期望值,以便您可以单击它

  • 当元素加载到DOM中,但UI显示正在加载时,您仍然必须等待JavaScript和AJAX调用完成页面加载,以便页面上的所有WebElement都变得可交互。最多要等待完全加载,您可以将
    pageLoadStrategy
    设置为normal,但可能仍需要诱导目标WebElement呈现、可见、可交互或可点击

  • 在这里,您可以找到有关的详细讨论

    • 如果未加载UI,则Selenium可能无法与一些DOM元素交互

    更新 根据您的回答,这里是WebElement的不同阶段以及检查阶段的相应预期条件:

    • :

    • :

    • :

    注意:根据文件


    感谢您的快速回复,请允许我询问后续查询,关于ElementToBickable,我已经浏览了官方文档,仍然对“检查元素的期望是可见的并启用的,这样您就可以单击它”的说法感到困惑这是否意味着它将只在UI上可见时单击,或者它再次与DOM有关,我知道字面意思,但仍然希望确定。请帮忙,谢谢。请容忍我并允许我提出后续查询,1)元素的可见性和可点击的元素,两者都与DOM部分相关,当它说“元素显示但高度和宽度也大于0”这是否意味着它正在检查UI元素是否实际显示,或者根据下载的css确定是否显示该元素。我试图确保的唯一一点是2。)是否有任何方法可以断言元素实际显示在网页上,或者仅仅基于DOM和加载的css,html selenium正在执行操作?
    存在性
    可见性(显示)
    可交互性(可点击性)
    所有这些都与HTML DOM中WebElement的不同状态相关。各州是不同的。根据您的要求使用适当的预期条件。非常感谢您的澄清
     presenceOfElementLocated(By locator)
     An expectation for checking that an element is present on the DOM of a page. This does not necessarily mean that the element is visible.
    
     visibilityOf(WebElement element)
     An expectation for checking that an element, known to be present on the DOM of a page, is visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0.
    
     elementToBeClickable(By locator)
     An expectation for checking an element is visible and enabled such that you can click it.