python - Selenium - 删除和附加类值
问题描述
我的程序的一部分需要切换哪个元素获取class
value "selected"
。
<div class="countryValues">
<div data-val="" >USA and Canada</div>
<div data-val="US" >USA - All</div>
<div data-val="US-AL" >USA - Alabama</div>
<div data-val="US-AK" class="selected">USA - Alaska</div>
</div>
单击其中任何一个给定的子元素"countryValues"
将class
完全从其他子元素中删除div
,然后插入class="selected"
到单击的子元素中。
到目前为止我写的代码:
# locales looks like this: ['US-AL', 'US-AK', 'US-AZ', ...]
# Clear all of the "selected" class values.
for loc_option in locales:
option_n = with_browser.find_element(By.CSS_SELECTOR, "div[data-val='" + loc_option + "']")
option_n_class = option_n.get_attribute("class")
if option_n_class == "selected":
# Do something to remove the class.
# Put the "selected" class value in where loc fits.
loc_to_select = with_browser.find_element(By.CSS_SELECTOR, "div[data-val='" + loc + "']")
loc_to_select.click()
但是,第一个错误发生在以下行option_n = with_browser.find_element((By.CSS_SELECTOR, "div[data-val='" + loc_option + "']"))
:
selenium.common.exceptions.InvalidArgumentException:消息:无效参数:“使用”必须是字符串
locales
是一个data-val
值列表,作为字符串,两者都是loc
并loc_options
从中选择一个项目
我尝试了各种方法来选择元素data-val
并查阅了文档,但都没有成功。
有没有更直接的方法来删除一个"selected"
值并将其添加到另一个值?
例如,我的目标是从中获得:
<div class="countryValues">
<div data-val="" >USA and Canada</div>
<div data-val="US" >USA - All</div>
<div data-val="US-AL" >USA - Alabama</div>
<div data-val="US-AK" class="selected">USA - Alaska</div>
</div>
对此:
<div class="countryValues">
<div data-val="" >USA and Canada</div>
<div data-val="US" >USA - All</div>
<div data-val="US-AL" class="selected">USA - Alabama</div>
<div data-val="US-AK">USA - Alaska</div>
</div>
解决方案
由于 double ,您会收到错误()
:
option_n = with_browser.find_element(By.CSS_SELECTOR, "div[data-val='" + loc_option + "']")
推荐阅读
- tensorboard - Tensorboard 未在配置文件选项卡中显示任何信息
- powershell - PowerShell - 如何用另一个变量调用一个变量?
- python - 为什么我的连接字符串用大括号括起来?python
- python - OpenCV 代码导致似乎是断言错误
- css - 如何在 Angular 中导入和使用字体?
- javascript - 对数据库中的数据设置多个过滤器
- scala - 如何在 dotty 中使用缩小的 String 类型的元组大小写头部编写匹配类型模式?
- javascript - 是否可以使用 API 为特定搜索词单独获取 Google Ads(用于编写脚本)?
- mysql - MySQL:如何使用触发器或存储过程根据对另一个表的更改来更新表
- java - 调用数据库连接时我的视图停止工作