GVKun编程网logo

Selenium-Firefox的MoveTargetOutOfBoundsException

15

本文将带您了解关于Selenium-Firefox的MoveTargetOutOfBoundsException的新内容,另外,我们还将为您提供关于android–IndexOutOfBoundsEx

本文将带您了解关于Selenium-Firefox的MoveTargetOutOfBoundsException的新内容,另外,我们还将为您提供关于android – IndexOutOfBoundsException setSpan(0 … 1)结束超过0、ArrayIndexOutOfBoundsException 160、ArrayIndexOutOfBoundsException >> arr lenght 引起的异常、ArrayIndexOutOfBoundsException数组越界 --- 之二的实用信息。

本文目录一览:

Selenium-Firefox的MoveTargetOutOfBoundsException

Selenium-Firefox的MoveTargetOutOfBoundsException

我在 Firefox* Webdriver 上的move_to_element 函数遇到问题(Chrome,IE运行良好) *

driver = webdriver.Firefox()driver.get("https://stackoverflow.com")time.sleep(5)source_element = driver.find_element_by_xpath(''//*[@id="footer"]/div/ul/li[1]/a'')ActionChains(driver).move_to_element(source_element).perform()

我正在使用以下版本:geckodriver-0.17.0 // Firefox-54.0 //selenium-3.4.3

运行此脚本后,在输出中显示:

selenium.common.exceptions.MoveTargetOutOfBoundsException: Message: (134.96666717529297, 8682.183013916016) is out of bounds of viewport width (1268) and height (854)

答案1

小编典典

这个错误…

selenium.common.exceptions.MoveTargetOutOfBoundsException: Message: (134.96666717529297, 8682.183013916016) is out of bounds of Viewport width (1268) and height (854)

…表示您要查找的元素不在Viewport中。我们需要向下滚动以将元素带入视口中。这是工作代码:

from selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinaryfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesfrom selenium.webdriver.common.action_chains import ActionChainsbinary = FirefoxBinary(''C:\\Program Files\\Mozilla Firefox\\firefox.exe'')caps = DesiredCapabilities().FIREFOXcaps["marionette"] = Truedriver = webdriver.Firefox(capabilities=caps, firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")driver.get("https://stackoverflow.com")last_height = driver.execute_script("return document.body.scrollHeight")driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")source_element = driver.find_element_by_xpath(''//*[@id="footer"]/div/ul/li[1]/a'')ActionChains(driver).move_to_element(source_element).perform()

让我知道这是否回答了您的问题。

android – IndexOutOfBoundsException setSpan(0 … 1)结束超过0

android – IndexOutOfBoundsException setSpan(0 … 1)结束超过0

我正在使用此库来获取带有标签的材质editText:
https://github.com/rey5137/Material/wiki/Text-Field
好的图书馆:)

但…

我正在使用下一个代码检查输入的符号是否正确:

private boolean hasCorrectSymbols(String input){
        String tre = "[A-Za-z0-9\\@\\#\\$\\%\\&\\*\\(\\)\\-\\+\\_\\;\\:\\?\\.\\,\\!]+$";
        if (input.matches(tre)){
            return true;
        }
        return false;
    }

检查正确的符号我正在使用textWatcher:

mEditPass.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s,int start,int count,int after) {}

            @Override
            public void onTextChanged(CharSequence s,int before,int count) {
                if (s.length() == 1 && !loginPassHasCorrectSymbols(s.toString())){
                    mEditPass.getText().clear();
                    String mess = getString(R.string.toast_login_useLatin);
                    showToastMessage(mess);
                } else if (s.length() >1 && !loginPassHasCorrectSymbols(s.toString())) {
                    String mess = getString(R.string.toast_login_useLatin);
                    showToastMessage(mess);
                    String text = s.toString();
                    text = text.substring(0,start);
                    mEditPass.setText(text);
                    mEditPass.setSelection(start);
                }
            }

            @Override
            public void afterTextChanged(Editable s) {}
        });

如果第一个符号是正确的而第二个符号是错误的 – 系统将剪切最后输入的(错误的)符号并将光标设置到最后一个文本位置,但如果第一个符号是禁止符号 – 它将因此错误而崩溃:

java.lang.indexoutofboundsexception: setSpan (0 ... 1) ends beyond length 0
            at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1016)
            at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:592)
            at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:588)
            at android.text.method.PasswordTransformationMethod.onTextChanged(PasswordTransformationMethod.java:108)
            at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:962)
            at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:496)
            at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:435)
            at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:30)
            at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:683)
            at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:198)
            at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:183)
            at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:279)
            at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5097)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)

任何想法为什么会发生?以及如何解决这个问题?

解决方法

在此代码段中,您缩短EditText中显示的文本(以便最后一个有效位置为start-1),但仍尝试将选择位置设置为start.

text = text.substring(0,start);
                mEditPass.setText(text);
                mEditPass.setSelection(start);

[EDITED]

假设您的Toast消息提示用户修复错误,我认为您实际想要做的是将选择设置为带有错误符号的EditText中的第一个字符.以下是执行此操作的示例代码:

// A reusable Pattern (at the class level) that defines the regex for bad characters.
private static final Pattern ILLEgal_CHAR_PATTERN = Pattern.compile(
    "[^A-Za-z0-9\\@\\#\\$\\%\\&\\*\\(\\)\\-\\+\\_\\;\\:\\?\\.\\,\\!]"
);

    // Replacement for your listener code.
    mEditPass.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s,int after) {
        }

        @Override
        public void onTextChanged(CharSequence s,int count) {
            if (s.length() == 0 || count == 0) {
                return;
            }
            Matcher matcher = ILLEgal_CHAR_PATTERN.matcher(s);
            if (matcher.find()) {
                int firstIllegalPos = matcher.start();
                mEditPass.setSelection(firstIllegalPos);
                String mess = getString(R.string.toast_login_useLatin);
                showToastMessage(mess);
            }
        }

        @Override
        public void afterTextChanged(Editable s) {
        }
    });

ArrayIndexOutOfBoundsException 160

ArrayIndexOutOfBoundsException 160

解决方法,升级fastjson的版本

ArrayIndexOutOfBoundsException >> arr lenght 引起的异常

ArrayIndexOutOfBoundsException >> arr lenght 引起的异常

如何解决ArrayIndexOutOfBoundsException >> arr lenght 引起的异常?

对 Arrayindexoutofboundsexception 有点熟悉但无法解决。

突出显示错误所在的行。

如果为数组的长度引入 5,程序将指出为什么 d 可能等于 arr 的长度值(在本例中为 5)。

我知道这是一个愚蠢的错误,因此我很生气......

已突出显示错误的行。

任何帮助??

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

ArrayIndexOutOfBoundsException数组越界 --- 之二

ArrayIndexOutOfBoundsException数组越界 --- 之二

现象:

Caused by: java.lang.ArrayIndexOutOfBoundsException: 7786
    at org.springframework.asm.ClassReader.readClass(Unknown Source)
    at org.springframework.asm.ClassReader.accept(Unknown Source)
    at org.springframework.asm.ClassReader.accept(Unknown Source)
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:54)
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101)
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:236)
    ... 45 more

问题及解决方案:

executor.execute(() -> threadTask(activityId, mobiles, content));

改为:

executor.execute(new Runnable() {
    @Override 
    public void run() {
        threadTask(activityId, mobiles, content);
    }
});

 

 

今天的关于Selenium-Firefox的MoveTargetOutOfBoundsException的分享已经结束,谢谢您的关注,如果想了解更多关于android – IndexOutOfBoundsException setSpan(0 … 1)结束超过0、ArrayIndexOutOfBoundsException 160、ArrayIndexOutOfBoundsException >> arr lenght 引起的异常、ArrayIndexOutOfBoundsException数组越界 --- 之二的相关知识,请在本站进行查询。

本文标签: