我在python中练习selenium,我想使用selenium获取网页上的所有链接.
例如,我想要来自这个网站的'a href'标签中的所有链接:http://psychoticelites.com/
我写了一个脚本,它正在运行.但是,它给了我对象地址.我尝试使用'id'标记来获取值,但是,它不起作用.
我目前的剧本: -
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://psychoticelites.com/")
assert "Psychotic" in driver.title
continue_link = driver.find_element_by_tag_name('a')
elem = driver.find_elements_by_xpath("//*[@href]")
#x = str(continue_link)
#print(continue_link)
print(elem)
Run Code Online (Sandbox Code Playgroud)
任何类型的线索/提示将不胜感激.
有没有办法从网页上获取执行的javascript内容?我已经尝试过请求+ BeautifulSoup,机械化,这些让我得到了网页的"源代码",而不是执行的javascript.例如,这个网站: - http://listen.tidal.com/login
正如您所看到的,在源代码中,存在未执行的JS,但是,当您检查元素时,您将看到执行的代码.
现在,有什么方法可以在python中获得EXECUTED代码吗?请提示,因为我尝试使用mechanize来模拟浏览器,它就像reuqests一样.谢谢
我正在构建一个测试应用程序来通过身份验证用户Microsoft's Cognitive Speaker Recognition API.这似乎很简单,但正如他们的API文档中所提到的,在创建注册时,我需要发送byte[]我录制的音频文件.现在,因为我使用Xamarin.Android,我能够录制音频并保存.现在,THAT音频的要求非常具体Microsoft's Cognitive Speaker Recognition API.
根据API文档,音频文件格式必须满足以下要求.
Container -> WAV
Encoding -> PCM
Rate -> 16K
Sample Format -> 16 bit
Channels -> Mono
Run Code Online (Sandbox Code Playgroud)
按照这个方法,我成功地录制了音频,在玩了一些和一些Android文档之后,我也能够实现这些设置:
_recorder.SetOutputFormat(OutputFormat.ThreeGpp);
_recorder.SetAudioChannels(1);
_recorder.SetAudioSamplingRate(16);
_recorder.SetAudioEncodingBitRate(16000);
_recorder.SetAudioEncoder((AudioEncoder) Encoding.Pcm16bit);
Run Code Online (Sandbox Code Playgroud)
这符合所需音频文件的大多数标准.但是,我似乎无法以实际的".wav"格式保存文件,我无法验证文件是否实际被PCM编码.
这是我的AXML和MainActivity.cs:Github Gist
我也遵循了这段代码并将其合并到我的代码中:Github Gist
该文件的规格看起来很好,但持续时间是错误的.无论我录制多长时间,它只显示250毫秒,这导致音频太短.
有没有办法做到这一点?基本上我只想Microsoft's Cognitive Speaker Recognition API通过Xamarin.Android 连接.我找不到任何这样的资源来指导自己.
我做了一个小项目,包括将各种python文件导入另一个python文件.这是我的目录结构.
Main_Folder
|_ my_main_file.py
|_ Sites (a directory inside Main_Folder)
|_ __init__.py
|_ some_other.py
Run Code Online (Sandbox Code Playgroud)
这基本上是我的目录结构.这some_other.py是my_main_file.py通过以下命令导入我的:
from Sites import *
我正在从该目录导入所有内容.所以,我想要做的是将整个项目变成一个独立的二进制文件.我使用pyintaller将我的.py文件转换为.exe.但是,我只编写了包含1个文件中所有内容的脚本,这使得任务变得简单.但是,这一次,我正在努力做一些新事物.
我的python脚本采用命令行参数,它正在工作.没有命令行参数,python脚本将无法工作.我可以转换为exe,但即使我提出参数,该exe也无所作为.
所以,我.spec从pyinstaller 获得了一个文件并对其进行了修改以获取我的some_other.py文件.SPEC文件如下所示:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['my_main_file.py'],
pathex=['C:\\Users\\User Name\\Main_Folder'],
binaries=None,
datas=[('Sites/*.py','Sites')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='my_main_file',
debug=False,
strip=False,
upx=True,
console=True )
Run Code Online (Sandbox Code Playgroud)
这使得一个.exe,但该exe将无法工作.exe将不会显示任何内容.但是,它的大小就像11 …
名为" export" 的文件夹中有一个mkv文件.我想要做的是创建一个python脚本,从该导出文件夹中提取文件名.假设文件夹位于" C:\Users\UserName\Desktop\New_folder\export".
我如何获取名称?
我试着用这个os.path.basename和os.path.splitext..好..没有工作,喜欢我的预期.
注意:我已经读过这篇文章,但不幸的是我没有理解它。我的目录设置有点像这样:
Main_Folder
|_ Base_Gui_File.py
|_ Child_directory (a directory inside Main_Folder)
|_ __init__.py
|_ some_other.py
Run Code Online (Sandbox Code Playgroud)
Base_Gui_File.py我已经在文件中找到了从(PyQt4)生成的所有 GUI 代码designer。有一个文本输入字段QLineEdit、一个按钮QPushButton和一个文本区域QTextBrowser。
默认情况下QTextBrowser是隐藏的。但是,我想做的是,当有人在 中键入某些内容QLineEdit并单击 时QPushButton,它会将字符串发送到 中文件中的QLineEdit方法。在对该字符串执行某些操作后,文件中的方法将在中打印一些内容。some_other.pyChild_Directorysome_other.pyshowQTextBrowserBase_Gui_File.pyQTextBrowser
到目前为止,我已经能够Base_GUI_File.py通过some_other.py从QLineEdit. 这是两个文件的代码:
some_other.py:
import sys
sys.path.append("..")
from Base_Gui_File import Ui_MainWindow
class childone(object):
"""docstring for childone"""
def __init__(self):
super(childone, self).__init__()
def somemethod(self, url):
pass
print 'Hey!'
final_string …Run Code Online (Sandbox Code Playgroud) 我最近尝试将我的 Xamarin Forms 项目“ CoManga ”放在应用程序中心并进行自动构建。
但是,我不断收到此错误消息并且构建失败。
[BT : 0.8.0] 错误:预计最多有一个命名空间为 '' 的元素,但找到了 4 个。[/Users/vsts/agent/2.155.1/work/1/s/src/comic_dl/comic_dl.Android/comic_dl.Android.csproj]
我不确定问题是什么,因为我可以从 VS 手动生成 APK 就好了。那边没有出现这样的错误。
这是 AndroidManifest 文件:AndroidManifest.xml
有人可以解释一下为什么会发生这种情况吗?
android android-manifest xamarin.android xamarin.forms visual-studio-app-center
我有这个简单的JSON,我正在反序列化这个JSON,所以我可以获得元素.这是我的JSON:
{
"QuestionIDs": [
"QID1",
"QID3"
],
"QuestionDefinitions": {
"Question1": {
"DETag": "Q1",
"Config": {
"QDescription": "UseText"
},
"COrder": [
"1",
"2",
"3"
],
"Validation": {
"Settings": {
"ForceResponse": "OFF",
"ForceResponseType": "ON",
"Type": "None"
}
}
}
},
"NextButton": null,
"PreviousButton": false
}
Run Code Online (Sandbox Code Playgroud)
这是我写的代码:
[DataContract]
public class RootObject
{
[DataMember]
public Dictionary<string, Dictionary<string, string>> QuestionDefinitions { get; set; }
[DataMember]
public List<string> QuestionIDs { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
QuestionIDs工作得很好.但是,QuestionDefinitions不起作用.它说它是一个空序列.我不确定是什么问题.
我希望能够访问QuestionDefinitions.
我试过了Json.Net.面对同样的问题.我能够得到简单的元素.但是,无法访问QuestionDefinitions. …
python-2.7 ×4
python ×3
c# ×2
android ×1
browser ×1
file ×1
javascript ×1
json ×1
json.net ×1
py2exe ×1
pyinstaller ×1
pyqt ×1
pyqt4 ×1
python-3.x ×1
pyuic ×1
qt-designer ×1
request ×1
selenium ×1
web-scraping ×1
xamarin ×1