我想在页面上选择多个类,并更改aria-checked="false"到aria-checked="true"。这是我现在使用的脚本:
elms=document.getElementsByClassName("d-va-p a-f-e");
for (i=0;i<elms.length;i++){
if(elms[i].getAttribute("aria-checked")="false")
elms[i].getAttribute("aria-checked")="true"
};
Run Code Online (Sandbox Code Playgroud)
源代码如下。该课程是“d-va-p afe”。
<div class="d-va-p a-f-e" style="-webkit-user-select: none;" role="option" tabindex="-1" aria-checked="false" id=":89">
<div class="a-f-e" style="-webkit-user-select: none;">
<div class="d-va-p-Fe a-f-e" style="-webkit-user-select: none;">
<img src="https://lh4.googleusercontent.com/-FxDBvNDkbj4/AAAAAAAAAAI/AAAAAAAAAAA/q4f7Fc7OF6A/s48-c/photo.jpg" class="d-va-p-Z a-f-e">
</div>
<div class="a-f-e d-va-p-yda" style="-webkit-user-select: none;">
<div class="d-va-p-Ec a-f-e" style="-webkit-user-select: none;">Herb Smith</div>
</div>
</div>
<div class="d-va-p-iI-oc" style="-webkit-user-select: none;">
<span class="a-f-e d-J-Eb-v-YA-Me" style="-webkit-user-select: none;"></span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 当我调用str()具有重载__getattribute__方法的对象时,它似乎没有使用它,而是__str__直接调用。是否有其他一些我应该修改的功能或让它使用的方法__getattribute__?如果我__str__直接超载它会按预期运行,但这并不适合我的需求。
class A(object):
def __getattribute__(self, attr):
if attr == "__str__":
return lambda: "Hello"
return object.__getattribute__(self, attr)
x = A()
print(x)
print(str(x))
print(x.__str__())
Run Code Online (Sandbox Code Playgroud)
输出:
< main .A object at 0x000001FDF7AEA760>
< main .A object at 0x000001FDF7AEA760>
Hello
期望输出:
你好
你好
你好
我已经创建了类型=“RANGE”和 id=“slider”的 HTML INPUT 元素。为什么我不能使用 getAttribute("value") 方法访问它的值?调试器显示有一个名为“value”的属性,其值不等于元素的值。range 元素的值不应该是它的属性吗?
var sliderValue1=document.getElementById("slider").getAttribute("value");
var sliderValue2= document.getElementById("slider").value;
Run Code Online (Sandbox Code Playgroud) 我想将span节点的visited属性设置为true或false基于它是否已被访问。
test();
function test () {
var el = document.createElement("span");
el.setAttribute("visited", false);
el.setAttribute("visited", true);
alert(el.getAttribute("visited") === true); //False
alert(el.getAttribute("visited") === "true"); //True
}
Run Code Online (Sandbox Code Playgroud)
我最初将属性“visited”设置为 boolean false,然后将 boolean 设置为true。我注意到当我检查属性是否为 时true,它返回 false,但如果我检查字符串true,它返回 true。
在MSN文件只谈与attributeName为需要的字符串,而不是价值。那么为什么不与 bool 进行比较呢?
我有以下代码:
In [38]: %paste
def set_session_attribute(obj, attribute):
if attribute.endswith('()'):
attribute = attribute.replace('()', '')
return getattr(obj, attribute)()
else:
return getattr(obj, attribute)
class Thing(object):
def __init__(self):
self.legs = 4
def length(self):
return 6
## -- End pasted text --
In [39]: x = Thing()
In [40]: y = set_session_attribute(x, 'legs')
In [41]: y
Out[41]: 4
In [42]: z = set_session_attribute(x, 'length()')
In [43]: z
Out[43]: 6
Run Code Online (Sandbox Code Playgroud)
这是因为调用"length()"不起作用(AttributeError, no attribute length())
是否有一种更短,更易于维护的方式来制作这样的功能?谢谢.
我有这个输入行,我试图提取值属性的文本:
<input type="text" class="card-input small-font" ng-value="paymentVia.typeDisplay" readonly="" value="Credit card">
Run Code Online (Sandbox Code Playgroud)
该函数getAttribute("class")工作正常,它返回card-input small-font但函数getAttribute("value")返回null.我也尝试了.value但这会返回一个空字符串.
有谁知道为什么会这样?
这是我的JS:
function() {
var x = document.getElementsByClassName("card-input small-font");
var payment =x[18].value;
return payment;
}
Run Code Online (Sandbox Code Playgroud) 在我的JS obj.attr('...')和obj.prop('...')不起作用,但obj.getAttribute('...')运作良好.
你能告诉我为什么吗?
function ShowTips(obj) // show tip in element's attribute
{
var msg = obj.attr("tip"); // failed.
alert(msg);
}
function startPoint() // start from here.
{
var obj = document.getElementById("img01");
ShowTips(obj);
}
Run Code Online (Sandbox Code Playgroud) 希望有人可以帮忙解决这个问题:
img)?下一个不起作用:
var banner = document.getElementById('banner');
var imgElement = banner.getElementsByTagName('img');
var imgSrc = imgElement.getAttribute('src');
Run Code Online (Sandbox Code Playgroud)
最后一行返回imgElement.getAttribute is not a function.我想这是因为第二行,我得到了object HTMLCollection...但为什么我得到了这个以及我必须做什么才能得到我想要的东西?
在任何帮助下提前很多.
如何将布尔值设置为请求中的属性值。
考虑以下片段
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
boolean isOriginal = (boolean) req.getAttribute(“isOriginalFile");
//Some code
}
Run Code Online (Sandbox Code Playgroud)
请求可能包含/可能不包含isOriginalFile属性的地方。如何处理呢?
嗨,我喜欢遍历所有包含活动类的“幻灯片”项目,并采用它们的“数据标题文本”属性。我究竟做错了什么?
<div class="slide active"></div>
var elems = document.getElementsByClassName('slide');
for (var i = 0, len = elems.length; i < len; i++) {
if (elems.classList.contains("active")) {
myJavascriptFunc
}
}
function myJavascriptFunc() {
alert(this.getAttribute('data-headertext'));
}
Run Code Online (Sandbox Code Playgroud) 如何比较两个 selenium WebElements 以查看它们是否相同?
首先我检索一个列表input_fields和first_input元素:
self.input_fields = driver.find_elements(By.CLASS_NAME, class_name)
self.first_input = driver.find_element(By.ID, id)
然后我尝试检查input_fields[0]和first_input是否是同一个 WebElement。
if self.first_input is not self.input_fields[0]:
self.__log.warning("WebElement first_input : {} != {}".format(self.first_input, self.input_fields[0]))
Run Code Online (Sandbox Code Playgroud)
尽管session和element相同,但无论如何都会触发警告消息。
WARNING - WebElement first_input: <selenium.webdriver.remote.webelement.WebElement (session="796bf0bcf3e0df528ee932d477951689", element="94a2ee62-9511-45e5-8aa3-bd3d3e9be309")> != <selenium.webdriver.remote.webelement.WebElement (session="796bf0bcf3e0df528ee932d477951689", element="94a2ee62-9511-45e5-8aa3-bd3d3e9be309")>
Run Code Online (Sandbox Code Playgroud) getattribute ×11
javascript ×7
python ×3
html ×2
python-3.x ×2
attr ×1
boolean ×1
dom ×1
getattr ×1
html-input ×1
httprequest ×1
java ×1
jquery ×1
selenium ×1
setattribute ×1
webdriver ×1