小编And*_*van的帖子

类型错误:无法读取未定义的属性“管道”(茉莉花,角度)

我在 Angular 中进行单元测试时遇到错误。错误是 TypeError: 无法读取未定义的属性“pipe”。为此,我使用了可观察的对象,并尝试测试订阅的输出。我将不胜感激任何帮助!谢谢你!

  obs1$: Observable<number>;
  pos=12345;

  constructor(
    private service1: Service) {
  }

  ngOnInit() {

    this.obs1$ = this.service1.retrieveData1(this.pos)
      .pipe(
        map(item => item.value || null))

  }
Run Code Online (Sandbox Code Playgroud)
 let component: ComponentName;
  let fixture: ComponentFixture<ComponentName>;

  const serviceSpy = jasmine.createSpyObj('Service',['retrieveData1']);

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ComponentName],
      providers: [{ provide:Service, useValue: {} }
    })
      .overrideComponent(ComponentName, {
        set: {
          providers: [
            { provide: ComponentName, useValue: serviceSpy }
          ]
        }
      })
      .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(ComponentName);
    component = fixture.componentInstance;
  });
 
 fit('should retrieve value', done …
Run Code Online (Sandbox Code Playgroud)

testing jasmine angular

19
推荐指数
1
解决办法
5万
查看次数

如何验证IP是否替换为代理服务器(selenium, python)

如何验证实际IP地址是否被代理服务器替换。我附上了代码。我用selenium和python编写了该程序。

# selenium imports
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import random

PROXY ="88.157.149.250:8080";


chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)
# //a[starts-with(@href, 'https://www.amazon.com/')]/@href
LINKS_XPATH = '//*[contains(@id,"result")]/div/div[3]/div[1]/a'
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get(
    'https://www.amazon.com/s/ref=lp_11444071011_nr_p_8_1/132-3636705-4291947?rh=n%3A3375251%2Cn%3A%213375301%2Cn%3A10971181011%2Cn%3A11444071011%2Cp_8%3A2229059011')
links = browser.find_elements_by_xpath(LINKS_XPATH)
for link in links:
    href = link.get_attribute('href')
    print(href)
Run Code Online (Sandbox Code Playgroud)

python proxy selenium

7
推荐指数
1
解决办法
7395
查看次数

我不能将send_keys用于chrome webdriver

我创建了一个Python webdriver程序,我使用了send_keys,我遇到了这个错误:

Traceback (most recent call last):
  File "D:/Amazon FBA/amazon-100-botzi/templates/send_keys_v2.py", line 10, in <module>
    elem.clear()
  File "C:\Users\Andrei\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 95, in clear
    self._execute(Command.CLEAR_ELEMENT)
  File "C:\Users\Andrei\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 628, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\Andrei\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Andrei\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 237, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.181)
  (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 10.0.16299 x86_64)
Run Code Online (Sandbox Code Playgroud)

它是关于chrome webdriver版本还是chrome版本?我应该使用什么版本?我怎么解决这个问题?我附上了代码.我将不胜感激任何帮助.

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import …
Run Code Online (Sandbox Code Playgroud)

python selenium chrome-web-driver

5
推荐指数
0
解决办法
236
查看次数

如何停止在自动完成组件中添加重复的芯片?

如何停止使用 Angular Material 芯片在列表中添加重复值?所以,例如,我想在水果列表中只添加一个苹果,当我添加柠檬时,我只想添加一个。现在我可以添加多次。当我关闭芯片时,我希望能够再次添加它。我将不胜感激任何帮助。谢谢!

import {COMMA, ENTER} from '@angular/cdk/keycodes';
import {Component, ElementRef, ViewChild} from '@angular/core';
import {FormControl} from '@angular/forms';
import {MatAutocompleteSelectedEvent, MatChipInputEvent} from '@angular/material';
import {Observable} from 'rxjs';
import {map, startWith} from 'rxjs/operators';

/**
 * @title Chips Autocomplete
 */
@Component({
  selector: 'chips-autocomplete-example',
  templateUrl: 'chips-autocomplete-example.html',
  styleUrls: ['chips-autocomplete-example.css']
})
export class ChipsAutocompleteExample {
  visible: boolean = true;
  selectable: boolean = true;
  removable: boolean = true;
  addOnBlur: boolean = false;

  separatorKeysCodes = [ENTER, COMMA];

  fruitCtrl = new FormControl();

  filteredFruits: Observable<any[]>;

  fruits = [ …
Run Code Online (Sandbox Code Playgroud)

angular-material angular

4
推荐指数
1
解决办法
2824
查看次数

使用selenium和Chrome设置代理服务器

如何使用selenium和谷歌浏览器使用代理服务器?我附加了代码,我不确定这是否会改变实际的代理服务器.

# selenium imports
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import random

PROXY ="88.157.149.250:8080";


chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)
# //a[starts-with(@href, 'https://www.amazon.com/')]/@href
LINKS_XPATH = '//*[contains(@id,"result")]/div/div[3]/div[1]/a'
browser = webdriver.Chrome(executable_path="C:\\Users\Andrei\Downloads\chromedriver_win32\chromedriver.exe",
                           chrome_options=chrome_options)
browser.get(
    'https://www.amazon.com/s/ref=lp_11444071011_nr_p_8_1/132-3636705-4291947?rh=n%3A3375251%2Cn%3A%213375301%2Cn%3A10971181011%2Cn%3A11444071011%2Cp_8%3A2229059011')
links = browser.find_elements_by_xpath(LINKS_XPATH)
for link in links:
    href = link.get_attribute('href')
    print(href)
Run Code Online (Sandbox Code Playgroud)

python proxy selenium google-chrome

3
推荐指数
1
解决办法
1万
查看次数

如何设置材质步进器默认打开第二项并设置图标颜色?(角度材质)

我使用垂直材料步进器,我想默认打开第二个项目。现在它打开第一个项目。我想默认打开“填写您的地址”。为此,我使用了 Material Angular。因此,当我打开应用程序时,我想打开第二个项目并更改图标颜色。我附上了代码。我将不胜感激任何帮助。

html:

<button mat-raised-button (click)="isLinear = !isLinear" id="toggle-linear">
  {{!isLinear ? 'Enable linear mode' : 'Disable linear mode'}}
</button>
<mat-vertical-stepper [linear]="isLinear" #stepper>
  <mat-step [stepControl]="firstFormGroup">
    <form [formGroup]="firstFormGroup">
      <ng-template matStepLabel>Fill out your name</ng-template>
      <mat-form-field>
        <input matInput placeholder="Last name, First name" formControlName="firstCtrl" required>
      </mat-form-field>
      <div>
        <button mat-button matStepperNext>Next</button>
      </div>
    </form>
  </mat-step>
  <mat-step [stepControl]="secondFormGroup">
    <form [formGroup]="secondFormGroup">
      <ng-template matStepLabel>Fill out your address</ng-template>
      <mat-form-field>
        <input matInput placeholder="Address" formControlName="secondCtrl" required>
      </mat-form-field>
      <div>
        <button mat-button matStepperPrevious>Back</button>
        <button mat-button matStepperNext>Next</button>
      </div>
    </form>
  </mat-step>
  <mat-step>
    <ng-template matStepLabel>Done</ng-template>
    You are …
Run Code Online (Sandbox Code Playgroud)

angular-material angular angular-material-stepper

3
推荐指数
1
解决办法
1772
查看次数

如何在垫子工具提示 div 下放置一个三角形?

如何在垫子工具提示 div 的底部放置一个三角形?我使用 Angular Material 创建了工具提示,我在 ts 中导入了 TooltipPosition 以将 div 放在上面,我在 scss 中使用 &:after 将 vtriangle 放在 div 的底部,但它不起作用。我附上了代码。我将不胜感激任何帮助。

import { TooltipPosition } from "@angular/material/tooltip";

@Component({
  selector: "app-financial-information",
  templateUrl: "./financial-information.component.html",
  styleUrls: ["./financial-information.component.scss"]
})
export class TooltipComponent implements OnInit {
//position tooltip content when i hover over the i

  positionOptions: TooltipPosition[] = ["above"];
  position = new FormControl(this.positionOptions[0]);
  constructor( ) { }

  ngOnInit() {}
}
Run Code Online (Sandbox Code Playgroud)
::ng-deep .tooltip-pd {
  position:relative;
  padding: 0.738rem 1.113rem;
  color: $grey1 !important;
  margin-bottom: 5px;
  white-space: pre-line;
  width: 50px; …
Run Code Online (Sandbox Code Playgroud)

angular-material angular

3
推荐指数
1
解决办法
5264
查看次数

如何删除输入时输入的特殊字符?(角度)

在输入字段中输入时如何删除特殊字符。我使用 (keyup) 或 (keydown) 并替换它。我附上了代码。我将不胜感激任何帮助。谢谢!

removeSpecialCharacters(event) {
    let newVal = event.target.value.replace('[^A-Za-z0-9]', '');
    return newVal;
  }
Run Code Online (Sandbox Code Playgroud)
<input maxlength="10" (keydown)="this.removeSpecialCharacters($event)">
Run Code Online (Sandbox Code Playgroud)

angular

2
推荐指数
1
解决办法
8983
查看次数

如何同时运行多个python文件?

如何同时运行多个python文件?有 3 个文件:bot_1.py、bot_2.py、bot_3.py。我想同时运行它们。我附上了代码。我应该在工作函数中写什么来使这个脚本工作?我将不胜感激任何帮助。

import multiprocessing
import subprocess
def worker(file):
    #your subprocess code
    subprocess.Popen(['screen', './bot_1.py'])
    subprocess.Popen(['screen', './bot_2.py'])
    subprocess.Popen(['screen', './bot_3.py'])

if __name__ == '__main__':
    files = ["bot_1.py","bot_2.py","bot_3.py"]
    for i in files:
        p = multiprocessing.Process(target=worker(i))
        p.start()
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

1
推荐指数
1
解决办法
9891
查看次数

如何在Angular中检查日期是否低于4年?

如何检查Angular(JavaScript)中小于4年的日期?

我想显示一条消息,如果它是true,则显示另一条消息,如果它是false。

我想检查特定的日期,例如08.07.2015(从现在起正好是4年,以便获取该日期并进行比较)。

我的代码:

public yearsDif() {
    const field = this.fForm.get("field").value;

    let diff = new Date().getFullYear() - new Date(field).getFullYear();

    if (diff < 4) {
      alert('under 4 years');
    }else{
      alert('more than 4 years');
    }
 }
    
    
Run Code Online (Sandbox Code Playgroud)

javascript angular

0
推荐指数
1
解决办法
64
查看次数

如何从Mat输入中验证电子邮件地址?(角材料)

我如何在没有表单的情况下验证电子邮件地址是否具有@符号和点而无需按下按钮。我将不胜感激任何帮助。

<mat-form-field class="example-full-width">
  <input matInput placeholder="Favorite food" value="Sushi">
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

angular

-1
推荐指数
1
解决办法
617
查看次数